為使我們工程師的創(chuàng)新工作不出現(xiàn)中斷或延誤,IT必須為他們提供具有最高性能的可用存儲(chǔ)平臺(tái),專門用來為文件驅(qū)動(dòng)式I/O密集型工程工作流提供“暫存空間”和數(shù)據(jù)卷。隨著數(shù)據(jù)的增長,我們團(tuán)隊(duì)的主要目標(biāo)之一是最大限度地提高“CPU時(shí)間與實(shí)際時(shí)間”的比率,其中實(shí)際時(shí)間表示處理計(jì)算作業(yè)所需的總時(shí)間,而 CPU時(shí)間計(jì)算的是CPU主動(dòng)處理任務(wù)所花的時(shí)間。比率越高,我們計(jì)算工廠的效率就越高;不過,提高此比率需要一個(gè)I/O速度極快的存儲(chǔ)平臺(tái)。CPU等待存儲(chǔ)響應(yīng)所花費(fèi)的時(shí)間屬于空閑時(shí)間,會(huì)降低我們的整體效率。

對存儲(chǔ)層的技術(shù)要求

幾年前,我們曾嘗試使用其他供應(yīng)商的存儲(chǔ)技術(shù),即將所有磁盤呈帶狀分布到一個(gè)更大的陣列中去,致使我們遭遇了以下三個(gè)問題:

系統(tǒng)無法提供我們所需的線性性能。

小文件隨機(jī)I/O成為瓶頸。

穩(wěn)定性和可靠性不夠。存儲(chǔ)控制器故障可能會(huì)導(dǎo)致延遲上市;工作流中的所有活動(dòng)作業(yè)可能要從頭開始再來一遍。

在評估問題解決方法的同時(shí),替換當(dāng)前的系統(tǒng)成為明智之舉。鑒于以下原因,我們的團(tuán)隊(duì)選擇了NetApp作為我們研發(fā)計(jì)算操作的支持后盾:

性能。我們的研發(fā)計(jì)算操作具有很高的并發(fā)性,同時(shí)會(huì)有超過5000個(gè)計(jì)算節(jié)點(diǎn)訪問存儲(chǔ),因此性能高低在很大程度上取決于存儲(chǔ)控制器。我們始終希望存儲(chǔ)控制器能用上最快的處理器,這樣存儲(chǔ)控制器就能以最多的并行網(wǎng)絡(luò)線程來處理I/O請求。我們還需要高效處理小文件隨機(jī)I/O操作的能力,因?yàn)檫@也是影響我們工作負(fù)載性能的主要決定因素。

可擴(kuò)展性。NetApp可讓我們以模塊化方式添加更多的控制器,從而在數(shù)據(jù)增長的同時(shí)確保最佳性能。我們可以水平擴(kuò)展存儲(chǔ),這種模式對我們來說非常有效。同時(shí)還會(huì)降低風(fēng)險(xiǎn),因?yàn)槲覀儾粫?huì)受單點(diǎn)故障的影響。

可靠性。我們需要類似NetApp Data ONTAP這樣的成熟可靠的數(shù)據(jù)管理平臺(tái)。使用高可用性對中的NetApp存儲(chǔ)控制器集群可使我們在出現(xiàn)硬件故障的情況下提供無縫故障轉(zhuǎn)移并執(zhí)行更新,而不會(huì)對計(jì)算工廠中正在運(yùn)行的作業(yè)造成任何中斷。即使某個(gè)域發(fā)生故障,也不會(huì)讓整個(gè)集群崩潰。

效率。我們不斷努力控制整體能耗和硬件占用空間,并盡可能地提高密度。NetApp提供許多能實(shí)現(xiàn)效率最大化的技術(shù),包括與占用最少存儲(chǔ)空間的時(shí)間點(diǎn) Snapshot副本保持?jǐn)?shù)據(jù)一致性的功能。默認(rèn)情況下,NetApp卷已經(jīng)過精簡配置,能減少初始存儲(chǔ)空間使用量。

精簡性。能否靈活使用網(wǎng)絡(luò)文件系統(tǒng)(NFS)和通用 Internet文件系統(tǒng)(CIFS)快速配置存儲(chǔ)并對工程文件提供共享訪問非常重要。憑借NetApp統(tǒng)一存儲(chǔ)架構(gòu)中的多協(xié)議支持,我們可以使用以下兩種協(xié)議(見圖 1)。


 
圖 1)NVIDIA工程計(jì)算工廠采用NetApp Data ONTAP 8.2。通過NFS和CIFS訪問相同的文件系統(tǒng)時(shí),Data ONTAP完全保持了數(shù)據(jù)的完整性。

如何借助NetApp存儲(chǔ)使容量翻倍

截至2012年,以NetApp存儲(chǔ)為后盾,我們的工程計(jì)算基礎(chǔ)架構(gòu)基本能夠滿足需求。為了保證創(chuàng)新工作有條不紊,我們需要支持更多的并發(fā)工作流并提高計(jì)算作業(yè)的性能。

為解決這一難題,我們部署了采用智能緩存技術(shù)的NetApp FAS6280和FAS6290存儲(chǔ)系統(tǒng)以提高吞吐量,并將多個(gè)獨(dú)立系統(tǒng)整合為高可用性對。同時(shí),我們升級(jí)到了Data ONTAP的更新版本,它提供了更多的并行網(wǎng)絡(luò)線程來處理I/O請求,而且使CPU在所有核心間的利用率更加平衡。此外,我們還與NetApp工程部展開密切合作,聯(lián)手進(jìn)行基準(zhǔn)測試并針對我們特定的EDA工具進(jìn)行存儲(chǔ)優(yōu)化,這并未改變或影響我們工程團(tuán)隊(duì)的底層工作流。

借助其他NetApp 存儲(chǔ)系統(tǒng)、緩存和優(yōu)化操作,最終我們計(jì)算工廠的整體處理效率提高了一倍多,每天的計(jì)算作業(yè)量從200萬增加到450萬。我們可以在任何指定時(shí)間同時(shí)執(zhí)行60,000項(xiàng)計(jì)算作業(yè)。CPU時(shí)間與實(shí)際時(shí)間的整體比率也有所提升 — 我們發(fā)現(xiàn)實(shí)際編譯性能提高多達(dá) 19% 且模擬運(yùn)行次數(shù)增加多達(dá)25%。

高效存儲(chǔ)為產(chǎn)品上市提速

NetApp 技術(shù)對我們計(jì)算工廠的性能、效率和可靠性發(fā)揮著重要作用,有助于我們使用相同的存儲(chǔ)平臺(tái)優(yōu)化順序工作負(fù)載和隨機(jī)工作負(fù)載, 進(jìn)而加快上市速度。

提升小文件隨機(jī) I/O 性能

NetApp能出色地處理通過NFS傳入的I/O請求,一部分是因?yàn)?WAFL(任意位置寫入文件布局),這是最令我印象深刻的NetApp功能之一。WAFL使用臨時(shí)數(shù)據(jù)布局同時(shí)寫入元數(shù)據(jù)和用戶數(shù)據(jù),以盡量減少將數(shù)據(jù)提交到存儲(chǔ)所需的磁盤操作次數(shù),而不是將數(shù)據(jù)和元數(shù)據(jù)存儲(chǔ)到磁盤上的預(yù)定位置。將非常小的文件(小于64字節(jié))存儲(chǔ)到文件系統(tǒng)內(nèi)的索引節(jié)點(diǎn)數(shù)據(jù)結(jié)構(gòu)中,而非磁盤塊中;因此,無需訪問磁盤(省下了查找時(shí)間),提升了性能。
借助智能緩存節(jié)省空間和能耗的同時(shí)優(yōu)化讀取性能

我們借助NetApp Flash Cache來提升決定著大部分工作負(fù)載速度的讀取性能。通過在連接到控制器的 PCIe卡上緩存最近讀取的數(shù)據(jù)和元數(shù)據(jù),F(xiàn)lash Cache在PCI 總線中充當(dāng)WAFL擴(kuò)展緩沖區(qū),從而幫助我們?nèi)菁{非常大的數(shù)據(jù)集。我們與 NetApp 緊密合作,共同確定工作負(fù)載所需的Flash Cache數(shù)量并決定使用512 GB和1 TB PCIe卡。這樣一來,緩存使用率就始終高于90%。

借助Flash Cache,我們可以使用混合存儲(chǔ)模式,以便最大限度地減少存儲(chǔ)占用空間并控制成本。在該模式下,我們使用了具有較高密度的高性能串行連接SCSI(SAS)驅(qū)動(dòng)器和成本較低的串行 ATA(SATA)驅(qū)動(dòng)器。若不采用Flash Cache,要達(dá)到我們目前的性能水平,我們需要的磁盤架數(shù)量以及相應(yīng)的能耗和散熱資源可能要增加三倍多;而且,若不采用 Flash Cache,我們可能無法在現(xiàn)有環(huán)境下使用高容量 SATA 磁盤,且很難擴(kuò)展計(jì)算工廠的容量。我們的數(shù)據(jù)中心可能已不堪負(fù)重。事實(shí)上,在我們對計(jì)算工廠進(jìn)行容量擴(kuò)展之后,借助新NetApp存儲(chǔ)系統(tǒng)的能效,我們已從電力公司贏得了200,000美元的返利。

降低風(fēng)險(xiǎn),同時(shí)保持?jǐn)?shù)據(jù)一致性

NetApp存儲(chǔ)另一個(gè)極具吸引力的功能是Snapshot副本,它們是活動(dòng)文件系統(tǒng)基于指針的只讀副本。WAFL利用寫時(shí)復(fù)制技術(shù)最大限度地減少Snapshot副本占用的磁盤空間,這樣我們就可以在保留數(shù)據(jù)集的時(shí)間點(diǎn)副本時(shí),既無需占用存儲(chǔ)空間,又不會(huì)影響性能。Snapshot副本可幫助我們保持?jǐn)?shù)據(jù)一致性,這在工程環(huán)境中至關(guān)重要,而且有助于避免數(shù)據(jù)丟失的風(fēng)險(xiǎn)。計(jì)算作業(yè)完成后,我們可以使用 Snapshot 副本臨時(shí)保護(hù)無需保留的數(shù)據(jù),避免因重復(fù)存儲(chǔ)而產(chǎn)生費(fèi)用,這一方法十分簡便。Snapshot 副本可以在我們這種文件數(shù)量巨大的環(huán)境中提供快速恢復(fù),只需翻轉(zhuǎn)文件系統(tǒng)指針即可 — 如果實(shí)驗(yàn)過程中出錯(cuò),我們可以使用Snapshot副本中的數(shù)據(jù)副本快速恢復(fù)到已知狀態(tài)。NVIDIA目前使用NetApp SnapVault®進(jìn)行備份并使用 NetApp SnapMirror將數(shù)據(jù)復(fù)制到位于薩克拉門托的災(zāi)難恢復(fù)站點(diǎn)。

我們還使用 NetApp 重復(fù)數(shù)據(jù)刪除來消除某些卷內(nèi)的冗余數(shù)據(jù)塊,并因此而獲益。重復(fù)數(shù)據(jù)刪除技術(shù)會(huì)找到相同的數(shù)據(jù)塊,并以引用單個(gè)共享數(shù)據(jù)塊的方式將其替換。這種方法特別適合我們保留了多個(gè)副本的 Perforce 軟件配置管理系統(tǒng),因?yàn)檫@些副本中有大量的重復(fù)數(shù)據(jù)。我們將這些卷的容量要求降低了 30%。

用更少的人手管理更多的存儲(chǔ)

盡管我們計(jì)算工廠的存儲(chǔ)容量已大幅提升,但我們未雇用更多的基礎(chǔ)架構(gòu)人員,且我們的預(yù)算與往年持平。實(shí)際上,少一個(gè)全職員工我們也可以正常運(yùn)行。正是因?yàn)镹etApp讓我們能夠輕松簡單地管理15 PB的數(shù)據(jù)占用空間,才讓這成為可能。

借助NetApp OnCommand Unified Manager管理軟件,我們可以快速了解性能指標(biāo)和利用率統(tǒng)計(jì)信息。為了盡早發(fā)現(xiàn)存儲(chǔ)基礎(chǔ)架構(gòu)中的問題以免對計(jì)算作業(yè)造成影響,我們選擇使用NetApp AutoSupport,它可在出現(xiàn)磁盤故障或其他潛在問題時(shí)迅速做出響應(yīng)并向我們發(fā)出警報(bào)。

業(yè)務(wù)影響:加快NVIDIA及客戶的上市速度

對NVIDIA而言,計(jì)算工廠的效率提升25%意味著可以在更短的時(shí)間內(nèi)測試、驗(yàn)證芯片設(shè)計(jì)并將其推向市場。NetApp幫助我們提升了CPU時(shí)間與實(shí)際時(shí)間的比率,這對我們的上市時(shí)間至關(guān)重要。隨著性能和容量的提升,我們每天可以支持的作業(yè)量將是之前的兩倍多,反過來這將促使我們推出更多的設(shè)計(jì)。我們不再受停機(jī)時(shí)間的影響,借助NetApp系統(tǒng),我們實(shí)現(xiàn)了高于99.99%的可用性。我們不再關(guān)注存儲(chǔ)正常運(yùn)行時(shí)間,因?yàn)槲覀兊腘etApp 存儲(chǔ)隨時(shí)可供工程師們使用。

縮短發(fā)布周期也將為我們的客戶帶來巨大的商業(yè)價(jià)值,這不僅能夠鞏固我們的戰(zhàn)略業(yè)務(wù)合作伙伴地位,而且有助于客戶推出基于NVIDIA技術(shù)的突破性產(chǎn)品。

未來規(guī)劃

借助NetApp Flash Cache和其他存儲(chǔ)效率,NVIDIA實(shí)現(xiàn)了R&D計(jì)算轉(zhuǎn)型并成功打造了一個(gè)支持不斷創(chuàng)新的計(jì)算工廠。在擴(kuò)大和完善計(jì)算工廠的過程中,我們將繼續(xù)信賴與NetApp之間的合作,我們還期望借助新一代NetApp FAS6000存儲(chǔ)系統(tǒng)提高性能并在能耗和散熱方面獲得更多優(yōu)勢。同時(shí),我們還將擴(kuò)大NetApp存儲(chǔ)在其他業(yè)務(wù)領(lǐng)域的應(yīng)用,包括公司IT和我們的VMware vSphere®虛擬服務(wù)器環(huán)境。

在不久的將來,我們計(jì)劃將計(jì)算工廠遷移到NetApp集群模式Data ONTAP操作系統(tǒng),目前我們正處于測試階段。通過將我們現(xiàn)有的NetApp存儲(chǔ)系統(tǒng)合并到集群模式Data ONTAP下的單個(gè)全局命名空間,我們將從無縫橫向擴(kuò)展、簡易負(fù)載平衡以及整個(gè)生命周期內(nèi)保持聯(lián)機(jī)的芯片設(shè)計(jì)數(shù)據(jù)中獲益。

分享到

renxinbo

相關(guān)推薦