徐寶宇,廖 濤
(1.上海大學計算機工程與科學學院,上海200072;2.上海大學高性能計算中心,上海200072;3.安徽理工大學計算機科學與工程學院,安徽淮南232001)
由于信息數(shù)據(jù)進入高速增長的時代,在滿足存儲容量需求的同時,用戶需要根據(jù)數(shù)據(jù)的特性選擇相應的存儲介質進行存儲以提高存儲系統(tǒng)的性價比。分層存儲系統(tǒng)就是將數(shù)據(jù)存儲在不同層次的介質中,并在它們之間進行自動或者手動的數(shù)據(jù)移動和讀寫等操作[1]。因此設計一個數(shù)據(jù)遷移策略來實現(xiàn)數(shù)據(jù)在各個存儲層及時有效的遷移是個關鍵的問題。
在數(shù)據(jù)遷移中,遷移時間的確定尤為重要,它必須考慮到使用存儲的應用需求以及存儲系統(tǒng)本身的特性。例如在數(shù)據(jù)的容災備份中,遷移時間可根據(jù)數(shù)據(jù)的安全需求來設計;對一些商業(yè)存儲系統(tǒng),遷移時間可根據(jù)業(yè)務流程來設計;而在高性能計算中,由于各個計算任務的規(guī)模和復雜度等各不相同,計算和存儲過程不明確,遷移時間設計就比較復雜。同時,高性能計算追求較快的存儲速度,因此提高高速存儲層的利用率也非常重要。
目前國內(nèi)外對分層存儲中數(shù)據(jù)遷移技術進行了大量的研究[2-12],但對遷移時間研究相對較少。文獻 [13]根據(jù)存儲容量來設置數(shù)據(jù)遷移的時間。若將容量設置過高,可能會因為存儲層內(nèi)數(shù)據(jù)增至過快而導致遷移失敗,設置偏低會降低存儲的使用率。因此遷移時間的設計需要分析數(shù)據(jù)的增長趨勢和存儲系統(tǒng)傳輸速率對遷移的影響。
分層存儲系統(tǒng)一般包括三部分。第一部分是磁盤池,它包括了多種存儲介質的物理磁盤,并可通過這些介質的物理特性進行分層管理。例如由SSD硬盤、SATA硬盤構建的存儲系統(tǒng)中,可分為SSD層和SATA層。第二部分是位于中間的存儲控制部分,它具有管理數(shù)據(jù)分布和遷移、實現(xiàn)存儲虛擬化等功能。最后部分是提供給不同應用使用的邏輯存儲系統(tǒng),它一般由Volume組成。整個分層存儲基本架構如圖1所示。
圖1 分層存儲系統(tǒng)的基本架構
分層存儲控制層中的數(shù)據(jù)遷移實際上是在多層存儲內(nèi)基于策略的自動放置文件的過程。遷移一般過程是:根據(jù)策略規(guī)則,系統(tǒng)在指定的存儲層創(chuàng)建和擴展一些文件;當遷移被觸發(fā)且執(zhí)行時,將文件價值滿足遷移條件的文件重定位到相應的存儲層,實現(xiàn)遷移。其中文件開始遷移的時間稱為遷移時間。文件價值指的是文件在整個文件系統(tǒng)中的重要性和活躍度,它決定了數(shù)據(jù)遷移策略能否有效執(zhí)行。遷移條件根據(jù)實際需求來設定,由遷移條件決定參與遷移的文件。
某一層存儲的數(shù)據(jù)遷移時間與存儲容量相關,但簡單或憑經(jīng)驗去設置一個容量值來確定遷移時間是不合理的,它沒有反映存儲容量的變化趨勢,也沒有結合存儲設備的特性和應用需求來使用存儲,同時可能造成因容量增長過快而無法及時地遷出數(shù)據(jù)的情況,即遷移堵塞。本文從存儲系統(tǒng)的傳輸速率、存儲層使用量和使用量的變化趨勢三方面來考慮遷移時間,下面給出它們的描述。
存儲系統(tǒng)的傳輸速率。存儲系統(tǒng)的傳輸速率包括讀出/寫入存儲系統(tǒng)的速率和系統(tǒng)內(nèi)部數(shù)據(jù)在各存儲層遷移的速率。它們受限于文件系統(tǒng)、網(wǎng)絡、raid設置、存儲系統(tǒng)和存儲介質等因素。實際的速率值取各相關因素對應速率中的最小值。
存儲使用量。記錄存儲介質內(nèi)存放數(shù)據(jù)的容量大小。它包括存儲層的使用量和存儲系統(tǒng)的使用量。
存儲層使用量增長率。反映存儲層的使用量在某個時間段的增長趨勢。
如果存儲層的使用量在某個時間段按固定的速率增長,稱之為線性增長 (linear increase,LI),反之是非線性增長(nonlinear increase,NI)。在非線性增長的情況下,如果增長率高于固定的增長率,表明存儲層使用量高速增長 (super linear increase,SLI),反之表明存儲層使用量低速增長(low linear increase,LLI)。圖2顯示了LI、SLI和LLI在一段時間內(nèi)存儲層容量的變換。
由圖2可知,在某段時間內(nèi),當存儲層使用量以LI變化時有
式中:β(t)——存儲層使用量的函數(shù)。
當存儲層使用量以SLI變化時有
當存儲層使用量以LLI變化時有
在數(shù)據(jù)存儲過程中,如果存儲層使用量增長過快,并且存儲系統(tǒng)本身傳輸速率比較低,就需要對它進行數(shù)據(jù)遷移,以免遷移堵塞導致遷移失敗。
遷移上限和遷移下限。它們是一個使用量的閥值,遷移上限大于或等于遷移下限。
由上述遷移條件,本文設計了遷移時間的判定過程,如下:
(1)定時監(jiān)控某存儲層使用量,當其超過遷移下限a時,進入 (2)。
(2)若使用量繼續(xù)增加超過遷移上限b時 (b>a),執(zhí)行 (4)。反之進入第 (3)步。
(3)若寫入存儲系統(tǒng)的速率超過存儲系統(tǒng)內(nèi)部數(shù)據(jù)遷出最大速率時,或在單位時間t內(nèi)滿足表達式 (2),則執(zhí)行第 (4)步。反之轉到第 (2)步。
(4)執(zhí)行數(shù)據(jù)遷移。
(5)數(shù)據(jù)遷移完畢。
本文結合使用量變化趨勢、傳輸速率和遷移上下限來設定遷移時間,能有效的緩解遷移堵塞。主要方法包括:降低式 (2)中固定速率,將符合遷移條件的文件數(shù)據(jù)提前遷移;降低遷移下限,擴大可執(zhí)行遷移的時間范圍。
遷移上限和下限的設置可改變存儲層的利用率,將遷移上限和下限適當提高,就可提高相應存儲層的利用率。
整個判定過程考慮了系統(tǒng)的硬件特性和應用的需求,并采用了數(shù)學公式進行定量分析,這為數(shù)據(jù)遷移的實現(xiàn)提供了很好的基礎。
根據(jù)前文的描述,一個完整的數(shù)據(jù)遷移策略必須考慮分層存儲設備的特性、應用的要求和數(shù)據(jù)的特征等方面,從遷移時間、文件的價值和遷移策略等來制定。
不同的應用決定文件價值的因素各不相同。這些因素有文件的訪問時限、I/O熱度,文件大小和文件安全性等等。本文主要分析遷移時間的作用,為避免其它因素對實驗結果造成影響,僅考慮文件的訪問時限,下面給出它的定義。
文件訪問時限 (ACCAGE)。該參數(shù)記錄了數(shù)據(jù)遷移的時間與應用程序上次訪問該文件的時間之間的間隔。假設執(zhí)行遷移的時間為T,文件a最近被訪問的時間為ta,則ACCAGE=T-ta。若ACCAGE越大,表明在本次遷移之前,文件a越久沒有被應用程序訪問,因此文件a的價值就越低。
遷移過程中的遷移時間、文件價值和遷移條件等都需要準確的參數(shù)值。Symantec提供的FCL(file change log)工具可以記錄文件系統(tǒng)中文件和目錄的變化。盡管它不能記錄實際數(shù)據(jù)的變化,但可通過文件的變化來記錄數(shù)據(jù)大小、I/O讀寫、訪問時間等信息。同時,我們可以通過加載FCL的頭文件fcl.h和vxfsutil.h來使用FCL提供的API,編寫相應的程序。本文采用FCL工具來獲取文件的信息并計算相關參數(shù)作為數(shù)據(jù)遷移的文件價值。
數(shù)據(jù)遷移解決的是數(shù)值放置的問題。數(shù)據(jù)放置包括初始數(shù)據(jù)的放置和遷移后數(shù)據(jù)的放置。一般情況,初始數(shù)據(jù)是即將要使用的數(shù)據(jù),可放在高速存儲層上。如果高速存儲層被完全使用,可自動將初始數(shù)據(jù)保存到下一層存儲上以實現(xiàn)初始數(shù)據(jù)在整個分層存儲的安全放置。
數(shù)據(jù)遷移需要根據(jù)實際需求確定遷移時間和遷移條件。當數(shù)據(jù)開始遷移時,系統(tǒng)將滿足遷移條件的文件放置到指定存儲層。遷移條件可根據(jù)應用需求來設定。例如可設置為一小時能未被訪問的數(shù)據(jù)被遷移等。存儲層的數(shù)據(jù)遷移過程如下:
(1)啟動遷移監(jiān)控器。
(2)記錄文件信息,并按照文件價值大小排序。
(3)到達遷移時間,開始遷移滿足遷移條件的數(shù)據(jù)。
(4)遷移完成后,重新記錄文件信息。
(5)返回遷移監(jiān)控器,等待下一次遷移啟動。
圖3是結合遷移時間的數(shù)據(jù)遷移流程。
圖3 加入遷移時間的數(shù)據(jù)遷移流程
為測試遷移時間在遷移策略中所起的作用,本文將DX80和MSA1000存儲整列提供的Volume整合為分層存儲系統(tǒng)。
該存儲系統(tǒng)通過4GB的光纖與上海大學自強3000高性能集群機相連。自強3000集群機主要運行與高性能計算相關的科學計算,計算任務涉及材料、力學、能源、生物、化學和計算機體系結構等領域,并運行了多種商業(yè)并行軟件和自編并行程序。該集群機在2004年全球超級計算機TOP500排名列126位,計算速度領先于劍橋等英國大學所擁有計算機,超過日本多數(shù)大學,超過俄羅斯各大學計算機。2004年中國TOP 100名列第6位,國內(nèi)高校名列第2 位[14]。
DX80和MSA1000兩臺存儲整列通過千兆以太網(wǎng)相連,為高性能計算提供存儲服務。其中DX80內(nèi)部采用了8GB的交換總線,磁盤的持續(xù)讀寫速率為3020MB/S傳輸速率,MSA1000的平均傳輸速率也達到了320MB/S。由于傳輸大小文件的速率各不相同,千兆以太網(wǎng)的實測最高傳輸速率在40-80MB/S之間,而光纖的實測傳輸速率是千兆以太網(wǎng)的3-4倍左右。因此,本文構建的兩層存儲測試環(huán)境中傳輸速率主要受限于千兆以太網(wǎng)的傳輸速率。本文稱DX80提供的存儲為DX層,MSA1000提供的存儲層為MSA層,容量分別為99GB和160GB。各個存儲層的相關信息見表1。
表1 DX和MSA存儲層的相關信息
我們將以存儲層容量作為判定遷移時間的數(shù)據(jù)遷移策略和結合了本文遷移時間的數(shù)據(jù)遷移策略依次部署到該分層存儲系統(tǒng)上,并將存儲容量的80%作為容量閥值,該值決定前者的遷移時間。在本文的遷移時間設計中,遷移上下限分別設置為存儲層容量的90%和80%。
由于DX80存儲整列的傳輸速率相對較快,所以我們希望在高性能計算下提高DX80存儲層的使用率。因此遷移策略設置如下:新數(shù)據(jù)被認為是即將要使用的數(shù)據(jù),其文件價值最高,被首先被存放在高速的DX80存儲層;其它文件價值按先后創(chuàng)建的順序自小到大排列;若DX80到達遷移時間,文件價值小的數(shù)據(jù)將被遷移到MSA層。
圖4顯示了在兩種遷移策略作用下,DX存儲層使用量和存儲系統(tǒng)存儲使用量的變化,其中DX層-1是僅考慮存儲容量的遷移策略,DX層-2是本文設計的遷移策略,上面的虛線表示遷移上限,下面的虛線表示遷移下限和容量閥值。由圖可知,DX層-1的使用率整體低于DX層-2,并且隨著系統(tǒng)存儲量的加速增長,出現(xiàn)了遷移堵塞。
圖4 兩種遷移策略下的DX層和系統(tǒng)使用量變化
本文設計的遷移策略在數(shù)據(jù)長時間快速增長的極端情況下,也會出現(xiàn)遷移堵塞,但可以通過降低使用量變化公式中的固定速率來延遲遷移堵塞。圖5的DX層-3和DX層-4中,固定速率分別為60MB/S和50MB/S,在相同的數(shù)據(jù)高速增長情況下,DX層-4能夠將遷移堵塞延遲到DX層-3的4.9倍的時間發(fā)生。在實際應用中,存儲層的存儲空間遠遠大于本文的實驗環(huán)境,因此該方法具有可行性。
圖5 兩種固定速率下DX層的使用量變化
在遷移時間的設計過程中,通過數(shù)學公式能容易判斷存儲層使用量的變化趨勢。將變化趨勢與系統(tǒng)的傳輸速率相結合,這能保證存儲層使用量在可控的范圍內(nèi)波動,并在數(shù)據(jù)高速增長的情況下延緩了遷移堵塞,也就可以使用遷移上下限來提高存儲層的使用率。本文為遷移時間的設定提供了理論方法,但在具體應用中仍然需要考慮文件價值、遷移策略等其它因素才能實現(xiàn)數(shù)據(jù)的合理遷移。
[1]Tiered storage and virtualization technology[EB/OL].[2011-04-26].http://baike.baidu.com/view/3679747.htm(in Chinese).[分層存儲與虛擬化技術[EB/OL].[2011-04-26].http://baike.baidu.com/view/3679747.htm.
[2]Gong Zhang,Lawrence Chiu,Ling Liu.Adaptive data migration in multi-tiered storage based cloud environment[C]//3rd International Conference on Cloud Computing.Atlanta,GA,USA:Georgia Inst of Technol,2010:148-155.
[3]David Vengerov.A reinforcement learning framework for online data migration in hierarchical storage systems[J].The Journal of Supercomputing,2008,43(1):1-19.
[4]VermaA.An architecture for lifecycle management in very large file systems[C]//MProc of the 22nd IEEE/13th NASA Goddard Confon Mass storage System sand Technologies.India:IBM India Res.Lab,2005:160-168.
[5]Lv Shuai.Research on the data migratioon strategy of hierarchical mass storage system [J].Computer Engineering & Science,2009,31(A1):163-167.
[6]Vamplew P,Ollington R.Global versus local constructive function approximation for on-line reinforcement learning[C]//LNCS3809:Presented at the 18th Australian Joint Conference on Artificial Intelligence,Sydney,Australia.Published in Springer-Verlag,2005:113-121.
[7]Xing Lixian,Li Yanhong.Design and application of data migration system in hetertogeneous database[C]//China:International Forum Information Technology and Applications,2010:192-195.
[8]Zamzami I F,F(xiàn)atani H A A,Zammarah N A H.Data migration challenges:The impact of data quality—case study of university Putra malaysia UPM [C]//Malaysia:International Conference on Research and Innovation in Information Systems,2011:1-5.
[9]Petrov D L,Tatarinov Y S.Data migration in the scalable storage cloud[C]//Russia:International Conference on Ultra Modern Telecommunications& Workshops,2009:1-4.
[10]Kokkinos P,Christodoulopoulos K,Kretsis A,et al.Data consolidation:A task scheduling and data migration technique for grid networks[C]//Patras:8th IEEE International Symposium Cluster Computing and the Grid,2008:722-727.
[11]Kari C,Yoo-Ah Kim,Russell A.Data migration in heterogeneous storage systems[C]//USA:31st International Conference on Distributed Computing Systems,2011:143-150.
[12]Gong Zhang,Chiu L,Dickey C,et al.Automated lookahead data migration in SSD-enabled multi-tiered storage systems[C]//USA:IEEE 26th Symposium Mass Storage Systems and Technologies,2010:1-6.
[13]Wang Min-Feng,Lin Wei-Tsun,Tang Cheng-Hsien,et al.Constructing storage capacity migration policies for information lifecycle management system [C]//Taiwan:12th IEEE international Conference on High Performance Computing and Communications,2010:503-508.
[14]ziqiang3000 high performance computing cluster in shanghai university[EB/OL].[2012-02-02].http://www.hpcc.shu.edu.cn/Default.aspx?tabid=14258(in Chinese).[上海大學自強3000高性能集群機[EB/OL].[2012-02-02].http://www.hpcc.shu.edu.cn/Default.aspx?tabid=14258.]