即使以大規(guī)模并發(fā)方式訪問數(shù)據(jù)集,128臺計算節(jié)點的模擬處理速度仍然不夠理想,這樣的難題該如何解決?
如果由DDN公司給出答案,那么結(jié)果必然是采用閃存緩存構(gòu)建緩沖區(qū); 當(dāng)然,亦可嘗試選擇基于NVMe閃存驅(qū)動器的虛擬SAN,而這正是美國宇航局的解決思路。
美國宇航局的先進(jìn)超級計算(簡稱NAS)設(shè)施位于美國宇航局艾姆斯研究中心之內(nèi)。其高端計算能力項目(簡稱HECC)旨在幫助科學(xué)家與工程師們利用超大規(guī)模建模、模擬、分析與可視化方案確保美國航空局的各太空任務(wù)得以成功完成。
作為項目的組成部分,宇航局方面開發(fā)出Hyperwall系統(tǒng),這是一臺縱向16列、橫向8排的超大顯示屏幕,用于顯示大規(guī)模場景下的可視化模擬結(jié)果。其模擬對象包括多個項目,例如涉及大量流場尋路計算的ECCO(即海洋循環(huán)與氣候評估)。此類模擬任務(wù)通常涉及規(guī)模龐大且由美國宇航局超級計算機與各類儀器生成的高維數(shù)據(jù)集。
科學(xué)家們能夠利用多種不同工具、視點以及參數(shù)以顯示同樣的數(shù)據(jù)或者數(shù)據(jù)集,并通過可視化機制檢查模擬結(jié)果。
目前的問題在于,Excelero的NVMesh存儲方案如何以理想速度支撐起Hyperwall龐大的128臺顯示器與130個計算節(jié)點(128臺計算節(jié)點加2臺后備節(jié)點)。之所以如此困難,是因為其中涉及龐大的數(shù)據(jù)集與大量規(guī)模較小且極為隨機的IO操作。磁盤驅(qū)動器采用的Lustre文件系統(tǒng)表現(xiàn)不力,這套理論性能可達(dá)每秒80 GB的文件系統(tǒng)在實際數(shù)據(jù)吞吐量方面僅可提供每秒100多MB的表現(xiàn)。
美國宇航局艾姆斯Hyperwall可視化多屏幕顯示器
Hyperwall中各計算節(jié)點都配合一塊2 TB閃存驅(qū)動器。程序員們會將整體數(shù)據(jù)集拆分為2 TB甚至更小的分塊,并將其復(fù)制至各計算節(jié)點當(dāng)中。在此之后,整個可視化流程即可確保計算及交互操作利用本地數(shù)據(jù)進(jìn)行,但這種作法會顯著提升編程復(fù)雜度。
場流尋路涉及兩項核心技術(shù):利用核內(nèi)方法處理內(nèi)存內(nèi)或者閃存等高速本地介質(zhì)中的數(shù)據(jù)。
當(dāng)數(shù)據(jù)被移動至計算節(jié)點之外,即訪問時間更長時,使用核外技術(shù)進(jìn)行處理。
緩慢的模擬速度意味著科學(xué)家與工程師們只能以較低效率使用Hyperwall可視化方案。正如excelero所言,這正是NVMesh技術(shù)的專長所在。
ECCO模擬顯示結(jié)果
NVMe 虛擬閃存SAN如果全部128個節(jié)點上的2 TB閃存驅(qū)動器被整體匯總為單一資源池,即單一256 TB邏輯設(shè)備,并作為虛擬閃存SAN供RDMA訪問,那么每塊閃存驅(qū)動器在實質(zhì)上都將成為各計算節(jié)點的本地存儲資源。對于計算節(jié)點應(yīng)用而言,直接訪問網(wǎng)絡(luò)設(shè)備目標(biāo)并利用RDMA能夠?qū)崿F(xiàn)良好的并發(fā)讀取效果。
美國宇航局艾姆斯 研究中心的可視化小組安裝了NVMesh方案并借此獲得了中央塊存儲管理能力——包括邏輯分卷、數(shù)據(jù)保護(hù)與故障轉(zhuǎn)移等等——且無需受到傳統(tǒng)SAN的性能限制。Excelero公司指出,這將為可視化、分析/模擬以及突發(fā)性緩沖區(qū)使用等層面的各類用例提供理想的性能、經(jīng)濟性與可行性提升效果。
NVMesh擁有以下三大主要模塊:其中存儲管理模塊為一套集中式基于WebGUI的RESTful API,負(fù)責(zé)控制系統(tǒng)配置。
目標(biāo)模塊可安裝在任意主機之上并共享其NVMe驅(qū)動器,通過客戶端對各驅(qū)動器進(jìn)行初始連接驗證,而后保持這條數(shù)據(jù)路徑。
客戶端塊驅(qū)動器運行在各需要訪問NVMesh邏輯塊分卷的主機/鏡像之上。
在混合部署場景之下,客戶端與目標(biāo)模塊可共存于同一服務(wù)器當(dāng)中。
太空發(fā)射系統(tǒng)(簡稱SLS)可視化效果
臨時性閃存Excelero公司指出,在此用例之下,由于模擬數(shù)據(jù)在主Lustre文件系統(tǒng)內(nèi)得到嚴(yán)格保護(hù),因此256 TB虛擬設(shè)備盡管由非易失性介質(zhì)構(gòu)成,但仍可作為臨時性存儲資源使用。
因此無需對全部128臺節(jié)點/設(shè)備進(jìn)行RAID-0邏輯分卷串連即可實現(xiàn)數(shù)據(jù)保護(hù)。出于簡化要求,該設(shè)備被附加至單一節(jié)點中,采用XFS文件系統(tǒng)并填充各類數(shù)據(jù)。該文件系統(tǒng)隨后可隨意以只讀方式掛載及卸載于全部128個計算節(jié)點之上。
NVMesh邏輯塊分卷可由集群化文件系統(tǒng)利用,亦可在遭遇主機或驅(qū)動器故障時受到良好保護(hù)。
延遲至關(guān)重要這套NVMesh方案的加入會令數(shù)據(jù)訪問延遲較本地NVMe驅(qū)動器延遲提升5微秒,大部分延遲由網(wǎng)絡(luò)造成。
科學(xué)家與工程師不需要在編程層面限制數(shù)據(jù)位置; 各計算節(jié)點上的全部數(shù)據(jù)訪問行為皆以本地方式實現(xiàn)。根據(jù)靈活I(lǐng)O測試工具(簡稱fio)給出的基準(zhǔn)測試結(jié)果,全部128個節(jié)點皆可實現(xiàn)超過3000萬隨機4K讀取IOPS。這一IOPS水平下的平均延遲為199微秒,而最低值則為8微秒。1 MB數(shù)據(jù)塊條件下的數(shù)據(jù)通量則為每秒140 GB。
Excelero公司指出,在利用原生NVMe隊列機制時,這種方法能夠完全回避目標(biāo)主機CPU(配備有NVMe驅(qū)動器的主機)為應(yīng)用程序預(yù)留處理資源的問題。
這一模擬結(jié)果意味著可視化任務(wù)的運行將更為順暢快速,而美國宇航局艾姆斯研究中心的科學(xué)家與工程師們則可更加自然地完成交互,從而顯著提升工作效率。