孫花
摘 要:磁盤陣列的Cache算法是一種較為實用的提高磁盤工作效率的算法,而其設(shè)計的差異往往會影響其效果,因此利用仿真測評的系統(tǒng)完成對其測定并獲得改進依據(jù)。
關(guān)鍵詞:磁盤陣列;Cache算法;測試系統(tǒng)組成;測試流程
一、磁盤陣列的基本概念簡述
1、磁盤陣列
所謂的磁盤陣列就是RAID技術(shù)嗎,此種技術(shù)是在多個磁盤機或者光盤機上按照一定的規(guī)律對信息進行分散的方法。其使用磁盤條、磁盤鏡像、帶有奇偶校驗的磁盤條之類的技術(shù)進行組合,形成一個大容量而快速的外接存儲系統(tǒng),以此實現(xiàn)系統(tǒng)的冗余性能,降低所需要的潛伏時間增加磁盤的讀寫性能,從而提高硬盤崩潰后的數(shù)據(jù)恢復能力。整個系統(tǒng)在陣列控制器的管理和監(jiān)控下實現(xiàn)快速而復雜的存儲過程,并具備較強的容錯能力。從用戶的角度看,磁盤陣列組成的磁盤就是一個硬盤結(jié)構(gòu),用戶的操作可以與硬盤一樣進行分區(qū)格式化等,二者的區(qū)別在磁盤陣列的存儲速度要快于硬盤,同時可以提供自動化的數(shù)據(jù)備份,因此得到了多媒體技術(shù)廣泛應用。
2、形成動力
磁盤陣列技術(shù)的產(chǎn)生是隨著中央處理器的處理速度增加而引發(fā)的,在CUP和內(nèi)存處理速度的增加,用于數(shù)據(jù)存儲的硬盤相對速度卻明顯滯后,從而造成了整個計算機系統(tǒng)速度運行不相匹配的情況,造成了技術(shù)發(fā)展的瓶頸,降低了整個系統(tǒng)的性能,因此提高磁盤的存儲效率就成為了計算機發(fā)展的新課題。所以利用有限的磁盤資源提高其存儲速度同時防止出現(xiàn)故障而丟失數(shù)據(jù)就成了計算機研究的方向,此時磁盤陣列技術(shù)的出現(xiàn)就解決了提高存儲速度的問題,從而利用有限的磁盤空間獲得較高的處理速度,進而平衡了計算機的整體性能。
3、磁盤陣列的硬件和軟件技術(shù)
從磁盤陣列技術(shù)的應用中可以劃分為硬件磁盤陣列和軟件磁盤陣列兩種。硬件磁盤陣列主要是基于硬件設(shè)備,系統(tǒng)獨立于主機之外從而利用獨立的管理模式對磁盤進行管理,內(nèi)置的CPU與主機進行同步動作,所有的I/O都在陣列中完成,以此降低了主機的負擔,增加了系統(tǒng)的整體性能。利用總線控制與專屬通道完成對數(shù)據(jù)處理的加速,在主機中只用一個磁盤代表一組陣列;軟件磁盤陣列實質(zhì)是一個程序,在內(nèi)核磁盤編碼中實現(xiàn)不同的磁盤陣列技術(shù),因此其不需要外接獨立的設(shè)備可以降低系統(tǒng)構(gòu)建的成本,是一種經(jīng)濟型解系統(tǒng)速度的方法。其缺點也十分明顯,就是相對的增加了主機的負擔,對于輸入輸出量較大的系統(tǒng)而言容易形成死機。
二、磁盤陣列的Cache算法的精確測評系統(tǒng)
在磁盤陣列技術(shù)中采用Cache的技術(shù)可以顯著降低對磁盤的訪問次數(shù),提高其單次讀寫的性能,可以提高磁盤的使用壽命。設(shè)計優(yōu)秀的Cache算法對于系統(tǒng)的計算速度是十分有幫助的,因此如何評價其效果就成為了一個磁盤陣列的重要課題,也是在實際中需要解決的問題。
1、評價方法
在相關(guān)問題中,磁盤陣列的計算方法幾乎是決定整系統(tǒng)成敗的基本因素,尤其是針對硬件磁盤陣列而言,Cache的算法也就可以決定系統(tǒng)的性能,因此評價算法的目的是:確定算法在指定應用中的效果;為計算方法的選擇和改進提供依據(jù);為算法的優(yōu)化提供必要的數(shù)據(jù)支持。此外,對Cache算法進行評價的主要措施有以下幾種:數(shù)學法,即利用數(shù)學建模完成;實測法在產(chǎn)品上進行測算;仿真法,建立仿真環(huán)境進行測試。數(shù)學法實現(xiàn)起來并不容易,其最大的難點就是精確性沒有確實的標準;而實測法的成本較高。因此采用仿真試驗進行測定是比較實用的方式。
2、測評目的
為了對Cache算法進行準確的測評首先就需要規(guī)定其需要達到的目的,賜個目標就是保證精確測評和正確評估。具體的目標可以界定為:產(chǎn)生多個形式的FO負載下操作;模擬相應的磁盤陣列的Cache的管理流程;對Cache命中進行記錄進而評價其效果;記錄每次費命中的讀寫操作的準確時間,進而計算出現(xiàn)錯誤的概率。
3、測評系統(tǒng)結(jié)構(gòu)
1)系統(tǒng)組成
本系統(tǒng)是利用仿真計算對Cache算法進行測評,其主要有的構(gòu)成有:I/O排隊產(chǎn)生裝置、Cache算法插槽、Cache預取算法、磁盤仿真四個部分構(gòu)成。主要的系統(tǒng)功能如下:
讀寫發(fā)送器、I/O排隊產(chǎn)生裝置:此設(shè)備的作用是產(chǎn)生連續(xù)的I/O和隨機I/O。在測評中產(chǎn)生連續(xù)讀寫的工作流,同時也產(chǎn)生隨機讀寫的工作流,其方法是將給定介質(zhì)的容量進行折算形成K塊,在0-K之間產(chǎn)生一個讀數(shù)作為起點,并假定其長度為一塊長度。在實際中存儲系統(tǒng)的運行中會出現(xiàn)兩種不同的讀寫類型,即連續(xù)和隨機兩種。測試中通過模塊作用可以將多種類型的I/O操作方式注入到系統(tǒng)中,進而形成一個對實際操作過程的回放。讀寫I/O列隊產(chǎn)生裝置生產(chǎn)讀寫I/O的隊列并進行管理控制。
Cache的計算框架主要就是保證系統(tǒng)在測試中符合Cache系近似模擬。
磁盤仿真裝置,其作用就是對每次讀寫進行時間上的精確仿真,其方式是按照成熟的仿真技術(shù)措施來實現(xiàn)。
2)測評的流程
具體實現(xiàn)的步驟如下:首先,讀寫發(fā)生裝置產(chǎn)生一個讀寫工作流,每個讀寫的過程都帶有其特定的數(shù)據(jù)信息,包括一個邏輯地址、數(shù)據(jù)長度、數(shù)據(jù)標記。其邏輯地址代表的是此次讀寫的源地址,而標記則可以顯示其屬性信息。然后將信息傳輸?shù)絀/O隊列產(chǎn)生裝置上;其次,在讀寫I/O隊列產(chǎn)生裝置上根據(jù)讀寫發(fā)生器的信息對工作流提出讀寫要求,并將讀寫的內(nèi)容進行排序,并按照先入先出的方式將請求發(fā)送到Cache替換算法的插槽上。第三,Cache替換算法插槽接收到數(shù)據(jù)處理的請求,并進行處理。先對請求的格式進行審核,檢測其命中,如命中則完成工作流繼續(xù)測試,如錯誤則執(zhí)行Cache預取算法。最后,Cache預取算法的數(shù)量記錄和記錄,此時預取算法確定讀取塊的數(shù)量,然后調(diào)用相關(guān)程序完成仿真讀寫。系統(tǒng)會記錄模塊中每次I/O處理的詳細過程,記錄有輔助系統(tǒng)完成統(tǒng)計并形成相應的仿真結(jié)論,至此就完成對系統(tǒng)的測試。
3)測試結(jié)果的計算
完成仿真測試后就會得到相應的統(tǒng)計數(shù)據(jù),而評價Cache算法的主要標準就是命中率和平均相應的時間。在最后利用統(tǒng)計的數(shù)據(jù)通過公式計算就可以獲得這兩相應的參數(shù),由此評價Cache算法設(shè)計的優(yōu)劣。其中命中率所需要的參數(shù)是命中數(shù)量和整體讀寫數(shù)量;而平均響應時間則與處理耗時與每次處理的時間相關(guān)。
三、結(jié)束語
磁盤陣列的技術(shù)主要是為了提高有限磁盤空間所可以達到的處理數(shù)據(jù)的能力,此種技術(shù)是在CUP、內(nèi)存計算速度大幅提高的情況下應運而生的,在實際的應用中有軟件和硬件磁盤陣列兩種實現(xiàn)方式,而其中采用何種計算方式對出現(xiàn)進行處理就成為了其技術(shù)的核心問題。Cache算法是一種較為實用的數(shù)據(jù)處理算法,但是其設(shè)計的方式也存在差異,如何對其進行測評就成為了利用Cache算法提高磁盤陣列計算效率的重要問題。經(jīng)過前面的論述,不難看出:利用仿真方式構(gòu)建一個簡單的讀寫工作流可以獲得較為準確的系統(tǒng)數(shù)據(jù),并利用此對Cache算法的適應性進行分析,以此獲得較好的測評結(jié)果。
參考文獻
[1]詹玲,彭海云,萬繼光.磁盤陣列系統(tǒng)的Cache算法設(shè)計與實現(xiàn)[J].小型微型計算機系統(tǒng),2009,(09)
[2]陳華英.磁盤陣列RAID可靠性分析[J].電子科技大學學報,2006,(03)
[3]劉志強,張澤軍.磁盤陣列控制器故障主動處理系統(tǒng)[J].西北工業(yè)大學學報,2010,(05)
[4]徐征,張利華,余池美.磁盤陣列的緩沖命中率的研究[J].微電子學與計算機,2009,(12)
[5]莫正彥,馮太明,陳貴海.磁盤陣列的Cache算法應用分析[J].計算機應用研究,2008,(01)