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