HPC三種存儲方案
我們常說工匠做合適的工作需要選擇正確的工具。雖然這句話隨處可見还惠,但它卻道出了設(shè)計和制造HPC系統(tǒng)的精髓开伏。一直以來,HPC的計算部分都是用這種方法選擇處理器和內(nèi)存并設(shè)計互聯(lián)結(jié)構(gòu)芍躏、規(guī)定軟件棧和工具。當然降狠,這一切都和存儲密不可分对竣。
要實現(xiàn)性能、成本榜配、可控性否纬、可擴展性和數(shù)據(jù)完整性的良好平衡,根據(jù)不同情況有幾種存儲方案可供選擇蛋褥。例如有些數(shù)據(jù)連續(xù)幾個月都沒有被存取临燃,那么是否所有數(shù)據(jù)都需要用快速存儲?又或者是否有必要用一個容量大但性能低的存儲方式保留數(shù)據(jù)而不是運行應(yīng)用程序?不同的情況應(yīng)該使用不同的存儲方案解決。
這篇文章接下來的部分將描述三種HPC存儲方案:(1)聯(lián)機永久存儲(有時被稱為主存儲)烙心,(2)高速高速暫存器膜廊,(3)分類存儲。每一種解決方案都將對整個數(shù)據(jù)生命周期(從產(chǎn)生到最后歸檔淫茵,打個比方說就是從搖籃到墳墓)起作用爪瓜。圖1 闡述了這些存儲工具如何適應(yīng)IDC(International Data Corporation,國際數(shù)據(jù)公司)的HPC分類和吞吐量痘昌。
▲圖 1. 存儲工具如何符合一定的規(guī)模及吞吐量
這三種方案能夠很靈活地解決HPC的存儲問題钥勋,滿足您的需求并提供給您一個高效存儲方案炬转。如果您需要一種以上的存儲方式辆苔,您可以輕松地以高效、低成本的方式對它進行擴展扼劈。如果您的應(yīng)用程序和用戶不需要高速暫存器驻啤,那么您就可以不用付費購買并行 I/O 存儲方案。
接下來荐吵,我們將要討論第一種方案——聯(lián)機永久存儲骑冗,它專注于為小型系統(tǒng)提供合理的性能表現(xiàn)赊瞬。另外,如果大型系統(tǒng)對用戶主目錄和應(yīng)用程序目錄的性能沒有迫切的需求贼涩,那么聯(lián)機存儲也是一個不錯的選擇巧涧。
HPC聯(lián)機永久存儲: NFS是候選方案之一
HPC的計算節(jié)點都需要一個常見的文件系統(tǒng)。NFS為這個常見的文件系統(tǒng)提供了一個簡單遥倦、穩(wěn)固的解決方案谤绳。 基于NFS標準的存儲方案被廣泛用于Linux的HPC集群空間, 因為NFS簡單易操作并且歷經(jīng)考驗袒哥,故障模式為公眾所知缩筛,而且在每一個Linux發(fā)行版中都是事實上的標準安裝包,非常方便堡称。這種特性讓NFS成為了許多HPC裝置的聯(lián)機存儲方案的一個較好的選擇瞎抛。根據(jù)2009IDC的調(diào)研,在110個HPC站點中却紧,NFS是使用最為廣泛的文件系統(tǒng)桐臊。91個最大的HPC系統(tǒng)中,56%都在使用NFS晓殊。同樣的豪硅,近期展開的64個HPC系統(tǒng)中,其中64%使用的是NFS挺物。這份調(diào)查說明在HPC部署中懒浮,NFS作為一個頂級文件系統(tǒng)的選擇是很重要的。
無論以下哪種情況识藤,NFS 都可以為HPC集群提供一個穩(wěn)定的文件系統(tǒng)方案:(1) 集群應(yīng)用程序的 I/O 要求可以通過單個或者多個集群服務(wù)器滿足砚著,(2)計算節(jié)點數(shù)量與連接后臺存儲的帶寬相稱,(3)存儲容量能夠滿足集群需要痴昧,(4) 您需要一個可靠稽穆、容易理解并易操作的存儲。
從理論上來說赶撰,如果應(yīng)用程序的文件訪問模式是N個用戶訪問N個文件舌镶,而且并行應(yīng)用程序只有單個進程執(zhí)行I/O,在這種情況下NFS作為主應(yīng)用程序存儲將運行得很好豪娜。許多使用NFS作為主存儲的應(yīng)用程序都能符合要求并運行得非常好餐胀。目前的最佳實踐是無論HPC計算集群多大,統(tǒng)一使用10Gb以太網(wǎng)或者InfiniBand連接NFS 服務(wù)器瘤载。
然而否灾,當系統(tǒng)開始龐大起來或者數(shù)據(jù)集增加,或者當許多計算客戶同時存取一個單一文件(N對1 文檔存取)鸣奔,NFS可能就不是最佳選擇方案了墨技。在這種情況下惩阶,應(yīng)用程序可以運用專用的高性能存儲器來執(zhí)行應(yīng)用。
總體來說扣汪,NFS不僅對小型乃至中型集群有效断楷,在更大一些的應(yīng)用環(huán)境里也同樣有效。對于大一點的集群來說崭别,NFS仍然在啟用集群節(jié)點的主目錄和的應(yīng)用程序的共享方面發(fā)揮著重要作用脐嫂。在這種情況下, NFS不是運行應(yīng)用程序的最主要的存儲,因此即使對大量的計算節(jié)點來說性能要求也不高紊遵。在計算節(jié)點上輕松掛載用戶主目錄和應(yīng)用程序账千,也可以使用NFS實現(xiàn)。
3.2 HPC聯(lián)機永久存儲: 戴爾NFS 存儲解決方案 (NSS)
戴爾NFS 存儲解決方案(NSS)是一種完全基于NFS的文件存儲暗膜,提供包括所有必須的硬件匀奏、軟件、性能指南学搜、支持和部署服務(wù)娃善。戴爾NSS通過提供調(diào)整服務(wù)器、存儲以及文件系統(tǒng)配置的詳細指南瑞佩,幫助用戶部署NFS 服務(wù)器聚磺,以達到最佳性能及可靠性。
戴爾為您提供六種NSS推薦配置炬丸,和戴爾不斷發(fā)展的配置和調(diào)整存儲系統(tǒng)最佳實踐一道為幫助用戶實現(xiàn)最佳性能瘫寝。您有兩個連接選擇:四倍速率 (QDR) 無限帶寬或者10Gb以太網(wǎng)連接,三種規(guī)模選擇:小型(20 TB 存儲容量), 中型 (40 TB存儲容量)稠炬,大型 (80 TB存儲容量)焕阿。另外為滿足應(yīng)用程序的性能需求,QDR 無限帶寬方案提供了高達1.4 GBps的總吞吐量, 同時10Gb以太網(wǎng)方案可以提供高達1.1 GBps的總吞吐量首启。所有六種配置使用戴爾PowerEdge和PowerVault 產(chǎn)品以及XFS (Red HatScalable File System )提供模塊化方法來構(gòu)建存儲方案暮屡,裸容量能夠擴展到高達96 TB。
構(gòu)成戴爾NSS的主模塊為PowerEdge R710 網(wǎng)關(guān)服務(wù)器和 PowerVault MD1200 直連存儲附件毅桃。如果您需要戴爾NSS的詳細配置參數(shù)褒纲,歡迎訪問戴爾NSS網(wǎng)站。
3.3 NSS性能
本章節(jié)將分別比較NSS小型钥飞、中性以及大型配置的大規(guī)模連續(xù)讀寫性能莺掠。以下討論的性能數(shù)據(jù)均來自由32 臺PowerEdge R410服務(wù)器作為計算節(jié)點和NFS 客戶端的集群〈校基于10Gb以太網(wǎng)和InfiniBand汁蝶,我們做了三組測試。
測試使用IOzone進行论悴。IOzone是一個用于衡量大規(guī)模連續(xù)讀寫的工業(yè)標準掖棉。測試中為達到足夠大的規(guī)模和連續(xù)強度,我們使用高達25GB的文件和1024KB的請求大小來保證NFS服務(wù)器和客戶端緩存均保持飽和的工作狀態(tài)膀估。IOzone在集群模式下運行幔亥,并在每個計算節(jié)點上開啟一個線程。
第一組測試是在IPoIB(IP over InfiniBand)上進行大型連續(xù)讀寫測試察纯。
圖2顯示的是一系列節(jié)點也就是NFS 客戶端的大規(guī)模連續(xù)寫性能帕棉。對于大規(guī)模連續(xù)寫,在使用NSS大型結(jié)構(gòu)時達到了最高的性能饼记。該大型結(jié)構(gòu)的速度峰值大概在1.45GB/秒左右香伴,測試中,大型結(jié)構(gòu)存儲表現(xiàn)優(yōu)于NSS的小型和中型結(jié)構(gòu)表現(xiàn)具则,原因在于大型結(jié)構(gòu)存儲擁有更多的硬盤和附加的磁盤陳列控制器即纲,從而獲得更高的處理能力和主軸來處理工作負荷。正如圖2所示博肋,當計算節(jié)點達到一定數(shù)量之后低斋,存儲性能有所下降,這是由于NFS并發(fā)寫流量使磁盤成為性能瓶頸匪凡。
▲圖2 NSS IPoIB大規(guī)模連續(xù)寫性能
圖3 顯示了一系列節(jié)點在InfiniBand網(wǎng)絡(luò)下大規(guī)模連續(xù)讀取的性能膊畴。由圖可見,相對于相應(yīng)的寫性能病游,NSS的大規(guī)模連續(xù)讀取性能的下降要緩慢很多唇跨。這是因為NFS寫操作具有很高的復雜性,相對于讀取挑戰(zhàn)性更多衬衬。測試結(jié)果同樣表明在解決方案中使用更多的硬盤轻绞,就會有更高的讀取峰值,并且會具有更多持續(xù)性的生產(chǎn)力佣耐。
▲圖3 NSS IPoIB 大規(guī)模連續(xù)讀性能
第二組測試是基于10Gb以太網(wǎng)進行的大規(guī)模連續(xù)讀寫政勃。本測試使用以太網(wǎng)代替上組測試中使用的InfiniBand。
圖4 顯示了10Gb以太網(wǎng)中進行大規(guī)模連續(xù)寫時NSS的性能情況兼砖。在本測試中大型結(jié)構(gòu)的大規(guī)模連續(xù)存儲峰值速度達到了將近1.2GB/秒奸远,同時小型結(jié)構(gòu)達到了550MB/秒。和上文InfiniBand環(huán)境下測試結(jié)果相同讽挟,三種NSS結(jié)構(gòu)在計算節(jié)點達到一定數(shù)量之后懒叛,也都呈現(xiàn)性能降低的情況。然而耽梅,通過增加硬盤的數(shù)量和增加磁盤陳列控制器薛窥,存儲峰值速度以及保持高速性能的能力都將持續(xù)提高。
▲圖4 NSS在10Gb以太網(wǎng)下大規(guī)模連續(xù)寫性能
圖5顯示了(NSS)基于10Gb以太網(wǎng)的規(guī)模連續(xù)讀性能。在本測試中诅迷,NSS小型結(jié)構(gòu)峰值的讀取速度和NFS工作負荷的飽和點接近270MB/秒佩番。中型結(jié)構(gòu)(比小型結(jié)構(gòu)增加了一組MD1200矩陣)的讀取峰值和飽和點接近為500MB/秒。最后罢杉,IOzone并沒有顯示大型結(jié)構(gòu)(比小型結(jié)構(gòu)多了一個磁盤陳列控制器和兩組MD1200矩陣)運行32節(jié)點的峰值速度或工作負荷飽和點趟畏,需要更多的NFS客戶端才能得到測試結(jié)果。
▲圖5 NSS在10Gb以太網(wǎng)下的大規(guī)模連續(xù)讀性能
10Gb以太網(wǎng)下的NSS大規(guī)模寫性能要優(yōu)于相應(yīng)的讀性能滩租,這是由于NSS方案中的緩存技術(shù)優(yōu)化了進入硬盤的數(shù)據(jù)流赋秀,使集中寫成為可能。對于連續(xù)讀取而言律想,這個過程高度依賴于“讀取優(yōu)先”猎莲,而NFS服務(wù)卻限制了用于滿足“讀取優(yōu)先”的緩存容量,這樣請求只能靠更頻繁地讀取硬盤來應(yīng)對技即,導致了讀取性能的降低著洼。
HPC 快速暫存: 并行文件系統(tǒng)簡介
近些年來,在HPC中從計算節(jié)點到后臺存儲都在廣泛應(yīng)用并行I/O姥份,并行文件系統(tǒng)作為I/O性能擴展的解決方案在不斷上升郭脂。并行I/O 由于它的并行特性,應(yīng)用程序性能非常突出澈歉,它可以同時在容量和性能方面進行大量擴展展鸡。并行文件系統(tǒng)通過在多存儲裝置上分配(或分割)數(shù)據(jù)實現(xiàn)性能及擴展性。并行文件系統(tǒng)接近線性的性能擴展是NFS方案無法達到的埃难。
盡管并行存儲方案可以帶來高性能以及容量的可擴展性莹弊,但是設(shè)計、調(diào)整涡尘、控制和維護并行文件系統(tǒng)很困難忍弛。并行文件系統(tǒng)通常包含幾種存儲服務(wù)器,既可以共享后臺存儲方案也可以擁有各自獨立的存儲考抄。恰當?shù)嘏渲眠@種存儲是很難的细疚。HPC系統(tǒng)的設(shè)計和實施面臨的較為典型的困難就是,多少條帶寬度最合適川梅,需要多少存儲服務(wù)器疯兼,要求哪種元數(shù)據(jù)性能,如何按比例擴充存儲方案的性能和容量贫途,如何使用最少的人力成本管理和監(jiān)控存儲方案的有效性吧彪,等等。不難看出丢早,設(shè)計一個良好的并行存儲方案并不是一件容易的事姨裸。
在實現(xiàn)并行文件系統(tǒng)的眾多方法中,有一種是在單一系統(tǒng)里交付高吞吐量,并行存取以及可擴展的容量傀缩。不過那先,事實證明這種方案在配置實施和維護的時候很復雜,成本也相當高扑毡。因此另一種方案胃榕,Lustre?并行文件系統(tǒng)開始流行起來盛险,Lustre?并行文件系統(tǒng)使用完全可伸縮的多服務(wù)器瞄摊、高度并行的方式部署。
Lustre并行文件系統(tǒng)
對于需要非常大的吞吐量苦掘、擴展性和容量的應(yīng)用程序來說换帜,Lustre是一種基于對象、開源高效的并行文件系統(tǒng)鹤啡。雖然有些復雜惯驼,但Lustre功能非常豐富。
世界十大超級計算中心當中的七個以及超過50%的全球top50超級計算機都在使用Lustre,它可以擴展到25,000 名用戶递瑰,32 PB (32,000 TB), 總的數(shù)據(jù)吞吐量高達130 GB/s祟牲。
Lustre是一種真正的并行文件系統(tǒng),它可以允許一個集群中的多節(jié)點同時對同一個文件進行讀寫抖部,這樣就大大增加了支持并行I/O的應(yīng)用程序的文件系統(tǒng)I/O性能说贝。它通過在多個存儲陣列上對數(shù)據(jù)進行條帶化,整合所有存儲服務(wù)器和存儲陣列慎颗。這樣乡恕,Lustre 就能用低成本的硬件來實現(xiàn)巨大的、可擴展的后臺存儲功能俯萎。
對于用戶來說傲宜,Lustre文件系統(tǒng)提供了POSIX?-compliant UNIX?文件系統(tǒng)界面》虬。客戶端掛載Lustre文件系統(tǒng)一直可以看到一個單獨的命名空間函卒。在其他客戶端讀取文檔的同時,不同的客戶端可以同時對同一個文件的不同部分進行寫操作撇眯。
Lustre客戶端通常是典型的HPC集群計算節(jié)點报嵌,它們運行Lustre客戶端軟件并通過以太網(wǎng)或InfiniBand與Lustre 服務(wù)器進行通信。Lustre客戶端軟件由Lustre服務(wù)器和運行在計算節(jié)點上的應(yīng)用程序之間的接口組成叛本。
圖示6 展現(xiàn)了Lustre并行文件系統(tǒng)的原理沪蓬。
Lustre設(shè)計將文件系統(tǒng)操作分為兩個獨立的部分:文件系統(tǒng)元數(shù)據(jù)操作在元數(shù)據(jù)服務(wù)器(MDS)完成,文件數(shù)據(jù)操作在對象存儲服務(wù)器(OSS)上完成来候。
▲圖 6. Lustre并行文件系統(tǒng)原理示意圖
OSS節(jié)點文件對象數(shù)據(jù)使用目標對象存儲(OST)來儲存(LUNs)跷叉。通常情況下,多個OSS在任何時候都處于active狀態(tài)。由于每增加一個OSS云挟,就能提供更多的網(wǎng)絡(luò)梆砸,更大的吞吐量,更強的處理能力以及更多的容量园欣,因此使用更多的OSS就可以實現(xiàn)更大的吞吐量帖世。
一個Lustre裝置由以下三個關(guān)鍵系統(tǒng)組成: 元數(shù)據(jù)子系統(tǒng), 目標存儲子系統(tǒng)和Lustre計算客戶端。設(shè)計和配置這些組件并不是一件容易的事情沸枯。因為要考慮到方方面面來使其性能達到最佳日矫,比如服務(wù)器配置、條帶寬度绑榴、OST大小哪轿、RAID配置、網(wǎng)絡(luò)以及對集群軟件棧冗余與交互作用的需求翔怎。如果這其中一點或者更多的方面沒有考慮適當窃诉,那么設(shè)計和配置出的性能可能達不到你的預期或要求。