大規(guī)模存儲基礎設施對人工智能的要求
大規(guī)模的人工智能(AI)在容量和性能方面提高了存儲基礎設施的門檻。對于人工智能或機器學習(ML)環(huán)境,期望增長到數(shù)十個甚至數(shù)百TB的容量并不少見。盡管那些只提供全閃存陣列的供應商可能會宣稱,這些環(huán)境實在太大而無法僅存儲在全閃存的一層上。這些環(huán)境中的大多數(shù)(由于它們的并行性質(zhì))在硬盤的服務幾乎與從閃存中獲得的服務一樣好。
要求1:高性能網(wǎng)絡
人工智能/機器學習環(huán)境創(chuàng)建使用內(nèi)部或直接連接存儲(DAS)的計算服務器集群的情況并不少見。即使共享存儲在使用可用容量和將工作負載更均勻地分配給計算節(jié)點方面效率更高,組織仍愿意犧牲這些效率來消除計算節(jié)點和共享存儲創(chuàng)建之間的網(wǎng)絡延遲。
NVMe光纖網(wǎng)絡(NVMe-oF)是明確設計用于基于內(nèi)存的存儲設備(如閃存和非易失性內(nèi)存的下一代網(wǎng)絡。它提供的延遲幾乎與DASNVMe相同。NVMe的深度命令和隊列深度使其也非常適合高度并行化的工作負載,并且人工智能/機器學習可能是所有工作負載中最并行的。NVMe-oF可能是專門為內(nèi)存存儲而設計的,但它也是為人工智能/機器學習量身定制的。
要求2:共享存儲
如果NVMe-oF可以解決計算和存儲之間的延遲問題,那么它將啟用第二個要求,即共享存儲。通過NVMe-oF連接的共享存儲解決方案,工作負載可以受益于共享存儲的所有自然屬性。首先,所有節(jié)點都可以訪問所有數(shù)據(jù),這意味著工作負載可以更均勻地分配其計算負載。這也意味著具有圖形處理單元(GPU)的節(jié)點可以訪問所有數(shù)據(jù)。由于圖形處理單元(GPU)的價格比CPU貴得多,因此讓圖形處理單元(GPU)處于繁忙狀態(tài)是當務之急,而共享存儲則使這變得更加容易。
在衡量數(shù)十個甚至幾百PB的工作負載容量需求時,存儲效率的任何提高都可以節(jié)省大量成本。在每個計算節(jié)點都有專用驅(qū)動器的群集中,IT部門無法輕松地將可用存儲容量重新分配給群集中的其他節(jié)點。直接連接存儲(DAS)模型中缺乏資源池,這也意味著組織無法有效使用制造商推向市場的大容量驅(qū)動器。現(xiàn)在,具有雙重用途的節(jié)點(計算和存儲)可以安裝12個或更多16TB以上閃存驅(qū)動器或18TB以上硬盤驅(qū)動器,而單個節(jié)點可能無法有效使用。如果人工智能/機器學習存儲體系結(jié)構(gòu)從專用服務器中池化那些相同的硬盤,則可以對其進行更精細的分配。人工智能/機器學習工作負載不僅需要擴展以滿足容量需求,而且還必須可以直接訪問存儲節(jié)點以滿足性能需求。
要求3:多層存儲
考慮到人工智能/機器學習數(shù)據(jù)集的大小,分層幾乎是必須的,因為數(shù)十PB的閃存太昂貴了。公平地說,某些人工智能工作負載不遵循80/20規(guī)則,在任何給定時間,80%的數(shù)據(jù)都是不活動的。這些工作負載可以從100%休眠狀態(tài)變?yōu)?00%活躍狀態(tài)。盡管如此,它們是高度并行的,并且數(shù)百個性能較低的硬盤驅(qū)動器可同時滿足工作負載的需求,從而可以提供這些工作負載所需的性能。如果沒有,他們可以在當前網(wǎng)絡技術允許的范圍內(nèi)盡快傳送數(shù)據(jù)。
要求4:并行訪問
并行訪問意味著存儲基礎架構(gòu)中的每個節(jié)點為人工智能/機器學習集群中的每個計算節(jié)點提供對其所需數(shù)據(jù)的直接訪問。單個控制節(jié)點不會成為瓶頸。高水平的并行性對于人工智能/機器學習至關重要,因為可能需要同時訪問存儲池的計算節(jié)點數(shù)量眾多。正是這種并行性使吞吐量能夠使硬盤作為人工智能/機器學習存儲基礎設施中的組件而變得可行。并行文件系統(tǒng)幾乎總是需要客戶端或代理,但是與提供典型訪問相比,該代理除了提供并行訪問外,還通常需要較少的開銷。
要求5:多種協(xié)議
盡管需要并行訪問進行處理,但另一個要求是多協(xié)議訪問,這對于將數(shù)據(jù)提取到存儲基礎架構(gòu)中特別有用。許多人工智能和機器學習項目都從物聯(lián)網(wǎng)(IoT)設備接收數(shù)據(jù)。這些設備通常需要與其附帶的協(xié)議進行通信。許多設備通過SMB或NFS進行通信,少數(shù)設備使用S3。更重要的是,幾乎沒有人使用本機并行文件系統(tǒng)客戶端。
要求6:高級元數(shù)據(jù)處理
人工智能/機器學習工作負載是元數(shù)據(jù)繁重的,盡管不是典型地因為它們使用像媒體和娛樂工作負載那樣的豐富元數(shù)據(jù)而并非如此。元數(shù)據(jù)在人工智能/機器學習工作負載中的重要性來自其通用文件的數(shù)量。在大多數(shù)情況下,數(shù)十億至數(shù)百PB的人工智能工作負載由數(shù)十億個文件組成。這些文件中的每個文件都有元數(shù)據(jù),就像其他工作負載一樣,大部分IO事務都來自元數(shù)據(jù)。人工智能/機器學習存儲基礎結(jié)構(gòu)必須管理元數(shù)據(jù),以便即使文件數(shù)量增加,它也可以維持系統(tǒng)的性能。元數(shù)據(jù)需要在整個存儲群集中進行分配,以便所有節(jié)點都可以參與其管理。供應商可能還會查看每個存儲節(jié)點中閃存上的存儲元數(shù)據(jù),以確保系統(tǒng)始終響應。
結(jié)論
人工智能/機器學習工作負載與組織過去可能運行的任何其他工作負載從根本上不同。早期的人工智能/機器學習項目已經(jīng)依靠DAS進行數(shù)據(jù)存儲。問題在于直接連接存儲(DAS)無法平均分配負載,這對于每個人工智能工作負載的GPU數(shù)量增加至關重要。此外,直接連接存儲(DAS)的效率極低,復制和移動數(shù)據(jù)所花費的容量和時間上的浪費消除了廉價硬盤的價格優(yōu)勢。