羅保山,張鑫,,王 栩,譚支鵬
(1.武漢軟件工程職業學院 計算機學院,湖北 武漢 430205;2.華中科技大學 計算機學院,湖北 武漢 430074)
混合存儲數據遷移策略研究
羅保山1,張鑫1,2,王 栩2,譚支鵬2
(1.武漢軟件工程職業學院 計算機學院,湖北 武漢 430205;2.華中科技大學 計算機學院,湖北 武漢 430074)
大數據環境下海量增長的數據對存儲介質的實時響應和超高容量帶來了極大的挑戰。傳統機械硬盤的性能瓶頸日益突出,以固態盤為代表的擁有高性能的新型存儲器不斷涌現,但其價格遠高于機械硬盤。為了降低總體成本同時利用HDD的超大容量,又充分利用SSD的高速性能,以固態盤與機械硬盤構建的混合存儲陣列成為一種不錯的選擇。文中設計實現了一種基于文件級數據遷移的混合存儲方案。通過數據分析器統計每個文件的隨機訪問度和熱度,并通過數學模型量化出文件價值來衡量文件的重要性,基于0/1背包模型提出了一種遷移算法,完成文件集合的遷入遷出并實現了對已遷移文件的訪問重定向。測試表明,該方案較另外兩種存儲方案平均提升了10%左右,而且減少了對SSD的寫操作,延長了SSD的使用壽命。
固態盤;混合存儲;文件價值;數據遷移
大數據環境下數據呈海量爆炸式增長,快速增長的海量數據的產生、保存和訪問對數據存儲和管理提出了更高的要求,它既希望對數據的處理能得到快速響應,又希望存儲系統有足夠多的容量來存儲海量數據。以閃存為代表的新型存儲器使用較少的容量和物理空間卻擁有高速的性能,但其價格昂貴,只適用于高性能應用,價格低廉、容量巨大的傳統機械硬盤仍是很多企業作為存儲數據的首選。為了滿足海量數據的實時響應和超高容量的需求,同時又節約成本,混合存儲系統成為一種折中的選擇。
硬盤驅動器是如今主要的電腦存儲媒介,它對性能密集型的在線應用程序有著很好的支撐。借助垂直磁記錄技術,磁盤的單盤容量已經發展到現在的1.5 T,多個磁盤陣列能提供更大的容量和更高的性能。但是磁盤的數據存取速度、尋道時間和定位時間越發成為瓶頸。雖然通過SATA、光纖磁盤等新技術可以緩解這一矛盾,但其本身的機械結構卻使這些高速外部接口并不能充分發揮它們的速度優勢。使用NAND Flash芯片作存儲介質的固態盤(Solid State Drive)[1]提供了高讀寫速度和可靠性,它不存在尋道時間,讀寫延遲比機械硬盤小,很好地支持了數據的隨機訪問,但其經濟成本相對較高且容量有限,并因NAND有限的擦寫次數降低了固態盤的使用壽命。
用戶對存儲器的選擇有三個主要指標[2]:容量、速度和價格。如今,CPU、內存等設備大致根據摩爾定律[3]在性能和集成速度上有很大提高,處理器和內存容量都得到了飛速提升,但海量數據的爆炸式增長對存儲器速度的要求也不斷提高。存儲介質的選擇一般從價格和性能兩方面考慮。側重價格的應選擇擁有足夠容量且價格低廉的存儲介質;側重性能的應選擇價格昂貴但性能優越的快速存儲器。但人們往往希望以較低的價格得到性能不錯的存儲器,混合存儲系統(Hybrid Storage System)較好地解決了這一困境,實現了閃存的高性能同時兼具磁盤的低成本優勢,從而優化了存儲系統的整體性能。國內外學術界和企業界對混合存儲系統[4]已進行了很多深入的研究,也有很多成熟的混合存儲產品問世,如早期的Hybrid Storage Alliance (HSA)、希捷Momentus XT系列固態混合硬盤及Facebook的Flashcache等。
在混合存儲方案的設計中應從以下三方面考慮:
(1)遷移算法的選擇[5],即確定一個最優的待遷移集合,使得該遷移操作能最大程度地提升整個存儲系統的性能;
(2)存儲設備的選擇比例[6-8],即如何根據不同負載調整各種存儲設備的比例,從而將混合存儲系統的開銷降到最低;
(3)延長存儲器壽命,即如何延長磁盤的壽命又保證混合存儲系統的性能[9-10]。
圖1中的原始磁盤布局模式[11-12]闡述了本節討論的問題,三個熱點文件File1,File2,File3被訪問的順序如圖1(a)所示,File1和File2為順序訪問,File3為隨機訪問。圖中的黑點代表一次IO,三個文件以隨機方式存儲在磁盤上。磁盤性能在File2被訪問的這段是比較好的,但整個過程并不好,原因是:
(1)存儲位置的不連續性造成對File1和File3訪問的尋道時間較長;
(2)由于對File1的訪問會被對File3的訪問所打斷,因此對File1的訪問是偽順序的;
(3)由于File3是被隨機訪問的,所以當訪問File3時需要頻繁地移動磁頭。
混合磁盤的布局模式如圖1(b)所示。將File1和File3存儲到SSD上大大提升了磁盤訪問的順序性。雖然實際存儲系統中對磁盤的訪問模式比這復雜很多,但將隨機訪問的文件和熱點文件遷移到固態盤上能夠大大降低對整個磁盤的訪問延遲。
評析 試題源于成書1247年南宋時期秦九韶所著的《數書九章》,是對《九章算術》的繼承和發展,概括了宋元時期中國傳統數學的主要成就,標志著中國古代數學的高峰.例4考查的是幾何形體圓臺的體積計算,與例1、例2和例3一樣,都是以典籍史料中的問題為背景,通過數形結合、化歸與轉化等數學思想方法的運用求得答案為3寸.例5不同于例1-4題,僅局限于把《數書九章》中的“多項式值的算法”作為一個材料背景,而是把其中的秦九韶思想與算法的程序框圖結合起來進行再創造,讓考生運用所學的基本知識和技能解決問題,正是這道題的創新點,值得推廣.

圖1 原始磁盤和混合磁盤布局模式
基于此,文中設計了一種基于文件級數據遷移的混合存儲方案。
(1)利用SSD讀寫速度較快的特點,將熱點數據放置到SSD上,使之成為磁盤的緩存;
(2)利用固態盤和磁盤在不同訪問模式下的速度差異,讓固態盤服務絕大多數的隨機I/O訪問,磁盤服務剩余的I/O訪問;
(3)根據文件的隨機度和熱度估算出它的價值,衡量將該文件遷移到SSD上給系統帶來的性能提升,并根據文件價值確定遷移集合[13]并進行數據遷移,同時利用FUSE[14]實現訪問重定向。
圖2是系統的基本架構圖,圖中右側虛線框中包括五個功能模塊。
數據收集器工作在FUSE的內核態,主要負責抓取文件訪問的歷史信息(被訪問文件的路徑、類型、扇區號、長度以及時間)。數據分析器為FUSE的用戶態程序,它統計分析歷史訪問信息并通過隨機度計算算法得出每個文件的隨機度和熱度,通過對SSD總訪問量的讀寫比例及文件大小得出每個文件的價值。遷移算法基于0/1背包模型確定文件的存放位置,從而最大化混合存儲系統中SSD的利用率。遷移管理器基于遷移算法完成SSD和HDD之間的數據遷移。數據庫主要用于存儲數據并協同其他模塊完成數據庫操作,使用FUSE的用戶態程序實現訪問的重定向。

圖2 系統架構圖
本節主要介紹隨機度和熱度的計算算法和文件在SSD和HDD之間的遷移算法。
隨機度和熱度的計算主要在數據分析器上完成,前者衡量對某一文件的連續前后請求在磁盤塊上的距離,后者計算特定時間段內對某一文件的訪問次數。舉例說明如下,數據分析器分析某段時間內對File1訪問的歷史信息時,當發現對File1有一次訪問,則將File1的熱度值加1(hotness+1),同時判斷該訪問的起始位置是否為對File1上次訪問的結束位置,如果相同(順序訪問)且與上次訪問類型相同,前后的時間間隔也在給定的閾值內,則隨機度不變,否則隨機度加1(randomness+1),并更新File1的隨機度與熱度。分析結束后統計每個文件的隨機度和熱度值。如果File1在△t時間內有n次訪問,則File1的熱度為n。通過上述隨機度計算算法,得出隨機度為m,特殊情況下,m=n表示對File1的訪問都是隨機的,m=1表示對File1的訪問都是順序訪問的。
其中:fi為文件i的熱度;ri為文件i的隨機度;si為文件i的大小。
雖然小文件對固態盤更有優勢,但固態盤存在寫性能下降的問題,且擦寫次數有限的NAND芯片降低了使用壽命,因此區分SSD的讀寫操作且適當減少對SSD的寫操作是很有必要的。假設在某段時間內對File1的總訪問長度為T,讀操作長度為R,對于兩個根據上述數學模型設計計算出的具有相同V值的文件而言,如果兩者總的訪問量T相同,那么擁有更多讀訪問R的文件對SSD更有利。如果R相同,總訪問量S小的文件對SSD更有利。由此得出計算value值的數學模型的改進版:
其中,Ri為對文件i讀操作的數據量;Ti為對文件i訪問的總數據量。
通過功能模塊數據分析器分析得到每個文件在某時間段內的訪問隨機度、訪問熱度、訪問總數據量和讀操作數據量,再根據上述計算模型計算出各自的Value值。
需要根據持續變化的系統IO動態地在SSD和HDD之間進行數據遷移,將更多對SSD更有利的數據遷移到SSD上,將不利于SSD的數據遷移到HDD上。使用0/1背包模型分析SSD和HDD之間文件的數據遷移問題。
假設整個混合存儲系統中有n個不同的文件,每個文件的大小為si,文件價值為Vi,變量xi為該文件的存儲位置,1為存儲到SSD,0為存儲到HDD。該遷移算法的目的在于選取一個更利于存儲到SSD上的文件集合,集合中所有文件大小之和應盡可能等同于SSD的容量,且它們的Value值之和也應盡可能得大。由此得出計算模型:
其中,CAPACITYSSD為SSD的總容量(實際情況中因SSD上有寫操作,CAPACITYSSD要小于SSD的總容量)。
上述模型得到的文件集合是整個存儲系統中最利于SSD的文件集合,但在得出該集合之前可能該文件集合中的部分文件已經遷移到SSD了,造成該集合的不準確性。真實地遷入和遷出的文件集合見圖3。
圖中,MoveSet為整個系統中最利于SSD的文件集合,FileSetSSD為該時刻下SSD上已存在的文件集合,二者的交集為利于SSD的文件集合中已遷入SSD上的文件子集,SETHDD為SSD上已存在的文件集合中不利于SSD的文件子集,SETSSD為HDD上更利于SSD的文件子集。

圖3 遷入集合和遷出集合
根據該算法,交集不需要遷入遷出即保持不變即可,將SSD上不利于SSD的文件子集SETHDD遷移至HDD上,將HDD上利于SSD的文件子集SETSSD遷移至SDD上。
數據遷移工作在同一主機內部SSD和HDD之間進行,無需考慮網絡帶寬、安全性等的影響,但需保證對用戶的透明性且不影響用戶對數據的訪問功能,盡可能降低遷移所帶來的IO負載。因此適當的遷移時間,即系統空閑時間,能基本滿足這一要求。
當數據遷移工作完成后,部分文件在磁盤上的位置已經發生變化,需要考慮重定向的功能實現。使用FUSE(FilesysteminUSErspace)工具實現了一個用戶態文件系統hybridfs完成訪問重定向功能。舉例說明其具體實現過程,現需要對文件/home/file1進行對操作,FUSE的內核態程序將自動截獲來自內核軟件層(VFS)的訪問請求,主要獲得訪問的文件路徑名(file_name)、訪問偏移量(offset)、訪問長度(length)、訪問類型(R/W)等信息,并將其傳遞給用戶態程序。用戶態程序首先查詢/home/file1在數據庫中的記錄位置,若返回空或為“H”,表示該文件存儲位置為HDD,直接對該文件進行操作即可;若返回為“S”,表示該文件遷移至SSD,位置為/mnt/ssd/home/file1,用戶態程序將訪問路徑/home/file1更改為/mnt/ssd/home/file1。然后對該路徑進行open操作并返回對應的fd,再對該fd進行相應的讀寫操作。操作完成后查詢數據庫中/home/file1的need_fsync位,若返回“Y”,表示該文件在之前已經被修改,若返回“N”,則更改為“Y”,表明該文件已遷移至SSD。至此完成了對已遷移文件的訪問重定向功能。
系統是在局域網內的兩臺機器上進行測試,其中一臺為具備系統所需的全部功能的混合存儲系統的客戶端,另一臺為協助完成系統性能測試的服務器端。主機操作系統采用RedHatEnterpriseLinuxServerrelease6.0 (Santiago),CPU為Intel(R)Xeon(R)CPUE5620 2.40GHz,8GB內存,機械硬盤為Seagate1TB7200RPM,固態盤為OCZ-DriveR4PCI-EXPRESSSolidStateDrive300GB。
使用debench[16]作為測試工具,測試trace[17]為三個IO密集型的服務器trace:郵件服務器工作負載(MailServer)、研究中心工作負載(Research)和桌面環境工作負載(Office)。這三個trace的分析數據如表1所示。

表1 三種trace的分析數據
將文中提出的綜合考慮訪問隨機度與熱度的混合存儲系統(RHS),與只考慮熱點訪問數據的混合存儲系統(HOT),以及只有一塊硬盤的存儲系統(HDD),分別在上述trace上進行測試。
第一項指標為平均訪問延遲測試,測試結果如圖4所示。

圖4 三種trace工作負載對比
對于MailServer而言,RHS相對于HDD和HOT提升了10%和8%,讀為20%和10%,寫為12%和10%;在Office的Workload上提升了20%和15%,讀為22%和16%,寫為28%和13%;在Research的Workload上提升了15%和8%,讀為20%和13%,寫為25%和12%。通過讀寫性能的對比分析說明了將隨機訪問和熱點訪問的文件遷移到固態盤上能有效減少整個系統的訪問延遲。
第二項指標為系統平均帶寬測試,測試結果如圖5所示。

圖5 三種trace平均帶寬對比
在MailServer上,RHS相對于HDD和HOT提升了大約15%和6%;OfficeWorkload上的帶寬提升了38%和20%;ResearchWorkload因讀寫比例為0.5從而使提升小一些。因此將文件價值高的文件遷移到SSD上便于對已遷移至SSD上的文件的下次訪問改為訪問SSD而非HDD,這對系統性能的提升有顯著的作用。
文中提出了一種有效的將文件價值高的文件遷移到SSD上的混合存儲方案。通過統計分析每個文件的歷史訪問信息得到它們的隨機度和熱度,并通過數學模型將隨機度和熱度抽象量化為文件價值,用以衡量遷移該文件對整個系統帶來的性能提升。系統借鑒0/1背包模型,設計出了文件遷移算法并對計算出的遷移集合進行數據遷移,同時在遷移工作完成后實現了對已遷移文件的訪問重定向。通過在不同的服務器trace上的測試對比,結果表明該系統在平均訪問延遲與系統帶寬這兩項指標上都有一定的性能優勢。
[1]NarayananD,ThereskaE,DonnellyA,etal.MigratingserverstoragetoSSDs:analysisoftradeoffs[C]//Proceedingsofthe4thACMEuropeanconferenceoncomputersystems.NewYork:ACM,2009:145-158.
[2] 王志英,張春元,戴 葵,等.計算機體系結構[M].北京:高等教育出版社,2000:173-174.
[3]MooreGE.Crammingmorecomponentsontointegratedcircuits[J].Electronics,1965,38(8):114-117.
[4]ChangLP.Hybridsolid-statedisks:combiningheterogeneousNANDflashinlargeSSDs[C]//ProcofAsiaandSouthPacificdesignautomationconference.Seoul:IEEE,2008:428-433.
[5]KoltsidasI,ViglasSD.Flashingupthestoragelayer[J].ProceedingsoftheVLDBEndowment,2008,1(1):514-525.
[6]GuerraJ,PuchaH,GliderJS,etal.Costeffectivestorageusingextentbaseddynamictiering[C]//Proceedingsofthe9thUSENIXconferenceonfileandstoragetechnologies.[s.l.]:USENIX,2011.
[7]GarrisonJA,ReddyAL.Umbrellafilesystem:storagemanagementacrossheterogeneousdevices[J].ACMTransactionsonStorage,2009,5(1):1-24.
[8]HuY,YangQ.DCD-diskcachingdisk:anewapproachforboostingI/Operformance[C]//ProceedingsofACMSIGARCHcomputerarchitecturenews.[s.l.]:ACM,1996:169-178.
[9]SoundararajanG,PrabhakaranV,BalakrishnanM,etal.ExtendingSSDlifetimeswithdisk-basedwritecaches[C]//Proceedingsofthe9thUSENIXconferenceonfileandstoragetechnologies.[s.l.]:USENIX,2010:101-114.
[10]AguileraMK,KeetonK,MerchantA,etal.Improvingrecoverabilityinmulti-tierstoragesystems[C]//Proceedingsofthe37thannualIEEE/IFIPinternationalconferenceondependablesystemsandnetworks.[s.l.]:IEEE,2007:677-686.
[11]LinL,ZhuY,YueJ,etal.Hotrandomoff-loading:ahybridstoragesystemwithdynamicdatamigration[C]//ProceedingsofIEEE19thinternationalsymposiumonmodeling,analysis&simulationofcomputerandtelecommunicationsystems.[s.l.]:IEEE,2011:318-325.
[12]SomasundaramG,ShrivastavaA.信息存儲與管理—數字信息的存儲、管理和保護[M].羅英偉,汪小林,尹冬生,等,譯.北京:人民郵電出版社,2010:36-37.
[13] 余祥宣,崔國華,鄒海明.計算機算法基礎[M].第3版.武漢:華中科技大學出版社,2006:101-118.
[14]HenkC,SzerediM.FUSE:filesysteminuserspace[EB/OL].2012.http://sourceforge.net/projects/fuse.
[15] 劉次華,萬建平.概率論與數理統計[M].第3版.北京:高等教育出版社,2008:98-101.
[16]KanounK,ArlatJ,CostaD,etal.DBench:dependabilitybenchmarking[C]//Procof2001internationalconferenceondependablesystemsandnetworks.[s.l.]:[s.n.],2001:12-15.
[17]EllardD,LedlieJ,MalkaniP,etal.PassiveNFStracingofemailandresearchworkloads[C]//ProceedingsofthesecondannualUSENIXfileandstoragetechnologiesconference.SanFrancisco,California:USENIX,2003:203-216.
Research on Hybrid Storage Data Migration Strategy
LUO Bao-shan1,ZHANG Xin-yan1,2,WANG Xu2,TAN Zhi-peng2
(1.School of Computer Science,Wuhan Vocational College of Software and Engineering,Wuhan 430205,China;2.School of Computer Science,Huazhong University of Science and Technology,Wuhan 430074,China)
The explosion of data in the big data environment brings great challenges to the real-time response and high capacity of storage medium.The performance bottleneck of traditional hard disk is becoming increasingly prominent.New type of memory with the high performance represented by the solid state disk is emerging constantly,but its price-performance ratio is not better than that of the hard disk drive.The hybrid storage system that combines HDD with SSD becomes inevitable for reducing the overall costs while leveraging the large capacity of HDD and making full use of high-speed performance of SSD.It analyzes and designs a file-level hybrid storage system in this paper,which uses the data analyzer to count the degree of random access and hotspot for each file.Through establishing the mathematical model,it quantifies file value to measure the importance of files,and it uses the 0/1 knapsack problem model to design a migration algorithm that helps determine the migration set and realizes the redirection for access of each file.Through test,it improves 10% on average compared with the other two storage schemes,reduces the write operations to SSD and prolongs the service life of SSD.
SSD;hybrid storage;file value;data migration
2015-08-25
2015-11-27
時間:2016-05-05
中央高校財政專項基金(2015XJGH010)
羅保山(1973-),男,副教授,研究方向為計算機體系結構、網絡存儲;張鑫(1988-),男,碩士,研究方向為存儲安全與高可用技術、存儲服務與應用。
http://www.cnki.net/kcms/detail/61.1450.TP.20160505.0829.098.html
TP301
A
1673-629X(2016)06-0082-05
10.3969/j.issn.1673-629X.2016.06.018