朱 平,李全龍,徐曉飛,朱建濤,黃永勤
(1.哈爾濱工業大學計算機科學與技術學院,150001 哈爾濱;2.江南計算技術研究所,214083 江蘇無錫)
高性能計算的海量存儲系統新型訪問策略分析
朱 平1,2,李全龍1,徐曉飛1,朱建濤2,黃永勤2
(1.哈爾濱工業大學計算機科學與技術學院,150001 哈爾濱;2.江南計算技術研究所,214083 江蘇無錫)
為解決海量信息處理中實時訪問的"I/O墻"問題,提高海量信息分布式存儲系統的性能,提出了一種基于HPC的存儲部件新型訪問策略.首先分析了傳統訪問模型存在的問題;其次研究了存儲部件直通路模式的工作機理,建立了存儲系統的多層次、分布式模型,根據不同層次和映射策略實現存儲空間物理地址、緩存地址、存儲系統邏輯空間地址的連續映射;繼而分析了直通路訪問模式下的存儲路徑時間開銷;最后在模擬環境下進行存儲部件訪問的性能測試,并在實際應用系統中對該策略進行驗證.驗證測試結果表明,該方法能夠有效提高存儲系統性能,滿足海量信息處理的實時性需要.
高性能計算;海量存儲系統;存儲部件直通路;存儲層次映射
最新公布的第37屆國際高性能計算TOP500最快計算機是以8 162 Tflops的持續性能指標而榮登榜首,它是1946年第1臺計算機ENIAC的16 324億倍.超性能計算不斷以增加節點來增加系統性能,未來E級HPC系統規模將變得異常龐大,其存儲系統帶來了擴展性、I/O性能和可用性等諸多嚴峻挑戰[1].
信息存儲系統對UC-HPC至關重要,其性能優劣會嚴重影響系統的總體性能,包括I/O操作以及處理器間通信等.圖1反映了計算性能與I/O性能存在難以彌合的“I/O墻”.因此,本文基于此背景下研究了HPC海量存儲系統的存儲策略.
“I/O墻”產生的原因主要有:CPU性能每年增長超過60%,而磁盤性能每年僅有4% ~7%的速度增長;在并行分布共享多機系統中加重了主機與I/O速度的失配性;多處理器與多核系統使其整體性能以每年80%以上的速度增長;網絡、多媒體以及巨型復雜課題等一些新應用領域產生了日益增長的I/O要求.這些因素都加大了計算和存儲系統的性能差距,加厚了“I/O 墻”[7-8].外存儲器與高性能計算的發展存在明顯的“間隙”,如圖2所示.

圖1 TOP 500計算性能和I/O性能的趨勢

圖2 磁盤存儲和TOP500高性能計算的發展歷程
緩解“I/O墻”的方法有:研究新型高速存儲載體、體系結構、多級存儲模式、緩存技術、外存系統調度策略、RAID技術、文件分條、并行I/O技術、網絡存儲技術等[2-3].HPC 的 I/O 硬件并行度遠低于計算節點的并行度,使I/O性能與計算性能不匹配問題變得更加嚴重[4-5].系統規模越大越是嚴重地阻礙了下一代HPC計算能力的發揮[6-8].目前,全球已公開在研萬萬億次級超級計算機系統如表1所示.
I/O及存儲技術在高性能計算機的發展中始終是一個十分重要的關鍵技術,由其構成的系統是高性能計算機系統中的重要組成部分.其技術特性決定了計算機I/O的處理能力,進而決定了計算機的整體性能以及應用環境.為了提高存儲系統的性能,人們對存儲系統訪問策略進行了研究并取得進展.HPC對存儲系統的迫切要求有:超大系統規模和高性能,需要支持超過100 000顆處理器、數十萬個節點的并發訪問;支持系統的可擴展性,根據用戶需求,HPC每4年并行I/O能力增長10倍,而實際用戶需求每2年增加10倍,目前系統需支持GB/s乃至TB/s的I/O聚合帶寬、數據高可靠和高可用、多核下存儲系統軟件研究等等.

表1 全球已公開的在研萬萬億次級超級計算機系統
這對下一代的高性能計算機存儲系統結構、高性能存儲載體部件、I/O通路、高性能存儲網絡、網絡存儲技術等都提出了新的挑戰.研究高性能計算機中存儲系統關鍵技術,主要集中在:高性能存儲網絡研究、網絡存儲研究、高性能分布式文件系統、分布式多級緩存管理、分布式數據布局策略研究、網絡存儲虛擬化研究、網絡存儲系統高可用、分布式存儲系統可擴展性研究、高性能存儲載體研究、云存儲技術研究等等.本文重點研究提高存儲系統性能的策略,如存儲部件直通路訪問策略,提出基于直通路方式的查找策略與系統實現.
HPC海量存儲系統需要對成千上萬的存儲對象進行隨機訪問,如何有效地實現系統的負載均衡,對提高系統的整體性能,充分有效利用系統資源至關重要.在實際課題中有計算密集型、通信密集型、數據密集型及這3種組合型的應用課題.其中本文需要重點關注與后兩類有關的課題.
存儲部件一般是由存儲控制器和磁盤組成,其性能影響的關鍵是磁盤存儲部件,由于近來新型的存儲載體的性價比還存在問題,雖然有可能替代磁盤存儲載體,但高性能存儲系統大規模應用不能完全取代磁盤.高性能計算存儲系統將數據和元數據分離,但元數據是一個非大塊交換量訪問方式的數據,隨機性強,根據I/O強度,有時訪問密度很高,數據的局部性不是那么的好.本文結合軟、硬件條件提出改善這一狀況的新思路.
系統存儲性能的提高可以用多方面的解決方案,但是性能改善的源頭還是存儲部件,在使用一定的存儲介質后,系統的輸入性能已經基本確定.增加帶寬、采用并發并行的方法能夠有效的緩解其性能不匹配的瓶頸.本文在此基礎上提出另外一種提高系統效率的思路,主要針對存儲部件控制器經常需要在緩存中“轉存-轉運”數據而影響系統I/O性能的特點.數據流是通過主機發出請求給存儲部件,存儲部件控制器解析,形成對緩存空間的請求,如果經過查找,不滿足條件,需要從設備空間獲取,這就需要分析和多次的傳送數據.如何利用數據流在設備間的連續傳送,在協議基礎上拓展以提高其傳輸效率是一個問題.
本文把整個空間及其數據流的轉換限定為物理層、操作層、映射層、策略層和應用層等,如圖3所示.

圖3 數據流及處理策略
設整個HPC的空間為SHPC,物理部件存儲空間為PAPi,控制器緩存空間BufCACj,元數據定義文件系統的空間 MDSAMDSk,每個I/O訪問空間為IOAIOl.策略層有Pa個參數因子,映射層有Mb個參數因子,操作層有Oc個參數因子,它們將共同作用,完成系統的空間管理和數據流的方向.用戶請求的地址為Addrx交換量為County,則有用戶的請求和最終物理空間之間的關系有:

式(1)表示用戶申請訪問的全局系統存儲空間需要通過Client發出請求傳給MDS,經過I/O節點傳送,使用多種策略和映射方法獲取數據.

式(2)、式(3)表示不論I/O節點還是MDS獲取數據需要通過存儲部件的緩存及其控制器相應的映射策略等可以獲取數據.


而控制器的緩存獲取數據則需要通過PAPi、IOCIOl、MDSAMDSk、BufCACj、Pa、Mb、Oc等共同作用.
在HPC中一般應用集成的存儲部件,接口間不同協議割裂了不同層之間的映射關系.本文可以通過空間映射的方法,直接在IOAIOl與PAPi以及MDSAMDSk與PAPi間建立關系,可以形成一個或多個物理磁盤通過存儲部件控制器和I/O服務器的存儲空間或者MDS的存儲服務空間的直接映射,產生直接的數據流動.

具體的實現方法是把控制器中設備地址映像到緩存地址改變為映像到連接主機接口的地址空間,建立數據流的直接流向.這樣可以把設備接口和主機接口的數據空間通過數據鏈連接起來,實現了物理存儲設備和服務器(包括MDS和I/O服務器)間的聯系.直通路是提高存儲系統性能的方法之一.圖4針對系統結構特點,建立存儲系統數據流和控制流模型,描述了I/O請求路徑和I/O響應數據傳輸路徑.

圖4 處理數據流
圖4中左側為計算節點(PN,Client)發出I/O請求,右側為n個OSS的I/O節點(存儲服務器OSS)和MDS及所掛存儲部件,執行并行I/O服務請求.以一次文件讀請求為例.一次文件讀請求服務時間T包括:I/O請求在Client和服務器端的傳輸及服務延時,分別表示為TClient和TOSS、響應數據傳輸延時TIOdata、并行IO處理開銷TParallel及I/O請求的網絡傳輸服務時間TNetwork.從圖4中可看出采用直通路技術前后數據傳輸路徑有較大差異.采用直通路技術前分布文件系統服務一次文件讀請求,未命中緩存情況下讀響應數據要經過下列傳輸路徑:

2)以DMA方式從磁盤陣列控制器的緩存傳輸到存儲服務器的緩存,記為TDMAIO;
3)從存儲服務器緩存拷貝到通訊緩沖區,記為TCOPY1;
4)以RDMA方式從存儲服務器的通訊緩沖區,經過存儲互連網,傳輸到發出請求的Client的通訊緩沖區,記為TRDMA;
6)從Client緩存拷貝到用戶緩沖區,記為TCOPY3.共計3次內存拷貝,讀響應數據傳輸延時TIOdata為

不考慮Client發送I/O請求的開銷,則1次文件讀請求服務時間T1為

而整個直通路過程應包含:以直通路方式從磁盤組,經過磁盤陣列控制器到存儲服務器記為TPDMAdisk;其余相同.
讀響應數據傳輸延時TIOdata為相應的一次文件讀請求服務時間T2為



因此采用直通路策略后,1次文件讀請求減少的服務時間為

文件讀請求的處理涉及從磁盤陣列控制器到本地I/O內存的DMA寫和從本地內存到Client內存的RDMA寫過程.
元數據的過程類似,可參照不重復比較.
經過抽象,可以把上述問題簡化為如圖5所示2張圖,表示在一個控制器內部數據的流動方向.

圖5 兩種傳輸模式
其工作原理是內存M與設備A或B存在映射為

本文可以通過硬件方式進行地址空間(如存儲器空間或I/O空間)映射,產生另外一個映射,能夠使設備A與設備B之間存在映射為

在直通路(Pass-through)傳輸模式下,設備A和設備B的數據交換可以通過PCI-e總線直接進行,此時存儲器已被旁路;通過邏輯設置設備的主/從方和正確的尋址方式完成以上操作.這種傳輸方式提高了數據的傳輸效率,以不占用系統內部總線為前提,減少系統開銷.
假設設備i傳到設備j的數據量為Dataij,耗時為 Tij,其平均傳輸率為 vij,則

假設 Tij1、Tij2、Tij3、Tij4、Tij5中每次交易中 Tij1、Tij2、Tij3、Tij5是常量,且隨每次數據交換量的不同而不同,設其突發數傳率為C,則

式中:Tij1為邏輯地址映射分配;Tij2為仲裁選擇;Tij3為建立連接;Tij4為數據傳輸;Tij5為撤消連接.直通路方式,其設備A到設備B傳送交換量為D數據量的數傳率為

而傳統方式下數傳率為

又設 Tij1為10t,Tij2為5t,Tij3為5t,Tij5為5t,其直通路vpass-AB和傳統方式下的vt-AB加速比A為

則將對應參數代入式(4)中,得到

但是由于存儲器與磁盤介質傳送數據,不確定的是尋道時間和緩存策略處理時間,因此其加速比僅為

存儲系統性能評測程序也可獲取一部分I/O的特征信息[9-10].存儲系統測試通常采用一些基準應用,如 Postmark、IOzone、IOmeter、Bonnie 等工具[11-17].本文使用 IOmeter、Bonnie 基準程序以及用Linux的基本命令dd等編寫的標準測試腳本來測試系統的性能.
根據存儲部件直通路(Passthrough)研究的設計思路和具體實現完成關于直通路方式和正常傳輸方式下的性能測試.以服務器(Linux平臺)掛接存儲部件為例主機接口協議為IBA的SRP協議,底層是SCSI協議.設備接口是SAS接口,掛接15 000 r/min的企業級300 GB SAS磁盤.
用標準測試及其腳本對上述環境進行讀寫測試.圖6為存儲部件以直通路方式、傳統方式0命中和傳統方式全命中進行數據傳送,交換量從512 Byte/(MB·s-1)~1 024 KB/(MB·s-1).如圖6及表2所示.

圖6 直通路方式與傳統方式的對比

表2 部分存儲部件性能測試列表
假設直通路與非直通路(全命中)相比,因為數據全部在緩存或者暫時存放在緩存,后者性能比前者高,性能損失直通路讀和非直通路(全命中)數據相近.直通路(全命中)和非直通路(0命中)是兩個極端,兩個理想狀態便于測試,實際應用介于兩者之間.其他值可根據實際情況測試和驗證,但是比較復雜,不能很好地收集緩存的真實情況,所以才利用最極端的兩種情況說明問題.
在實際應用中計算節點兩組系統采用不同策略進行性能比較.
1)系統實驗環境.
系統試驗的目的是對比虛根文件系統和局部文件系統的性能測試情況.本系統中以整機系統有2 000個計算節點為例,原始設計中考慮每個計算節點有自己的高速計算網絡接口、千兆以太網口、維護接口、15 000 r/min的企業級300 GB SCSI磁盤等.硬盤用于本地局部OS啟動以及裝載系統Client自身的文件系統.利用虛根文件系統管理虛擬空間再次生成的每個計算節點所需要的邏輯空間,作為其系統的OS、交換區的swap空間及其局部空間.
2)性能測試.
圖7~圖9表示對虛擬邏輯磁盤和真實物理磁盤的性能測試比較,采用標準測試程序和腳本.總體表明前者的性能是后者性能的3倍.

圖7 幾種方式的性能加速比

圖8 小塊方式的性能加速比

圖9 實際系統驗證對比
通過上述應用環境下的模擬可以得到系統具備有局部盤不可能有的優點:加載時間快、I/O性能提高、可靠性增強、系統易管理和利用空間充分等.
1)直通路策略很好地解決了設備間的傳輸效率問題,在虛擬存儲文件系統的小塊不命中的元數據存儲過程中能夠提高元數據的獲取效率和處理能力.
2)由于還有軟件開銷和不同數據流在緩存算法中的應用延時不同,沒有精確的對比.在主機接口性能一致的前提下,分析傳統存儲部件傳輸機制上的問題,研究數據流存儲操作的方式,為最大限度滿足系統存儲性能要求,分析其對傳統傳輸方式的加速比.
3)綜合利用存儲策略在實際系統平臺上進行了測試和性能對比.該方法是提高分布式海量存儲部件級性能的有效策略,可以結合其他方法綜合提高系統性能.
[1]TOP 500 Supercomputer Sites.TOP500 List for June 2011[EB/OL].[2011 -06 -01].http://www.top500.org.
[2]PATTERSON D A,GIBSON G,KATZ R.A case for redundant arrays inexpensive disks(RAID)[J].ACM SIGMOD Conference,1988,17(3):109-116.
[3]PATTERSON D A,HENNESSEY J L.Computer Organization and Design:The Hardware/software Interface[M].San Francisco,CA:Morgan Kaufmann,1998.
[4]RIPEANU M,IAMNITCHI A.S4:a simple storage service for sciences[C]//Proceedings of the 16thIEEE International Symposium on High Performance Distributed Computing(HPDC).Monterey Bay,CA:Hot Topics Track,2007.
[5]HWANG Kai,XU Zhiwei.Scalable Parallel Computing Technology,Architecture Programming[M].[S.n.]:McGraw-Hill,1998.
[6]SALEM K,GARCIA-MOLINA H.Disk striping[C]//Proceedings of 2ndIEEE International Conference on Data Engineering.Washington,DC:IEEE,1986:336-342.
[7]CABRERA L,LONG D D E.Swift:using distributed disk striping to provide high i/o data rates[R].Santa Cruz,CA:University of California at Santa Cruz,1991.
[8]KIM M Y.Synchronized disk interleaving[J].IEEE Transactions on Computers,1986,35(11):978 -988.
[9]KATCHER J.PostMark:A new file system benchmark.[EB/OL].http://www.netapp.com//techndogy/level3/3022.html.
[10]BRYANT R,RADDAZ D,SUNSHINE R.PenguinoM-eter:a new fileIO benchmark for linux?[C]//Proceedings of the 5thAnnual Linux Showcase & Conference.Berkeley,CA:USENIX Association,2001:5 -10.
[11]Network Appliance.PostMark:a new file system benchmark[EB/OL].[1997-10-08]http://www.netapp.com.
[12]TIM Bray.The bonnie benchmark[EB/OL].http://www.text-uality.com.
[13]NORCOTT W,CAPPS Don.IOzone filesystem benchmark[EB/OL].http://www.iozone.org.
[14]Intel Corporation.Iometer[EB/OL].http://www.iometer.org.
[15]I/O Performance Inc.Xdd[EB/OL].http://www.ioperformance.com.
[16]TRAEGER A,ZADOK E,JOUKOV N,et al.A nine year study of file system and storage benchmarking[J].ACM Transactions on Storage,2008,4(2):5-56.
[17]Intel Corp.IOMETER user guide[EB/OL].www.intel.Com/developer/iometer.etc.
Research on the new access policy of storage unit under HPC mass storage system
ZHU Ping1,2,LI Quan-Long1,XU Xiao-fei1,ZHU Jian-tao2,HUANG Yong-qin2
(1.School of Computer Science and Technology,Harbin Institute of Technology,Harbin 150001,China;2.Jiangnan Institute of Computing Technology,214083 Wuxi,China)
To solve the"I/O wall"problem in the case of real-time accessing about mass information processing and to improve performance of distributed mass storage systems,an access policy based on storage unit pass-through is proposed and the problem of traditional access models is analyzed.Then the mechanism of pass-through pattern is studied,and a multi-level and distributed model is built up.Next,the continuous mapping of physical address,cache address of storage space and logical space address of storage system are realized depend on the different levels and mapping strategies.The time consuming of pass-through storage path in pass-through pattern is analyzed.Last,the performance of the storage unit in the simulated environment is tested.The results show that the method can improve the performance of storage system effectively,and can meet the needs of real-time accessing about massive information processing.
HPC;mass storage system;storage unit pass-through;map of storage hierarchical structure
TP333
A
0367-6234(2012)11-0059-06
2011-10-12.
國家高技術研究發展計劃資助項目(2009AA01A402).
朱 平(1965—),男,高級工程師;
徐曉飛(1962—),男,教授,博士生導師;
黃永勤(1955—),女,高級工程師,博士生導師.
朱 平,fendicmm@sina.com.
(編輯 張 紅)