當(dāng)下我們正處于一個數(shù)據(jù)大爆發(fā)的時代,量的增加使得數(shù)據(jù)處理難度加大,耗能增加。據(jù)Fortune Business Insights稱,為了管理在未來幾年增加的數(shù)據(jù),服務(wù)提供商每年將增加約25%的存儲支出,2022年達到850億美元,2027年達到近3000億美元。而另一方面,數(shù)據(jù)中心運營商則希望減少能源費用以及與運營相關(guān)的碳排放。因此,服務(wù)提供商將投資重點放在更高性能和更低功耗計算能力上,從而減少數(shù)據(jù)移動。
在這樣的趨勢下,計算存儲不失為一個改善數(shù)據(jù)處理的關(guān)鍵技術(shù)。計算存儲使計算處理更接近數(shù)據(jù),從而提升了應(yīng)用性能和整體基礎(chǔ)架構(gòu)效率。業(yè)界認(rèn)為,部分SSD硬盤或?qū)⒊嬎愦鎯Ψ较虬l(fā)展,這將為SSD存儲解決方案帶來計算能力,并減少存儲和應(yīng)用處理器之間傳輸?shù)臄?shù)據(jù)量。Wikibon預(yù)測,未來五年或更長時間,SSD閃存容量的出貨量將每年增長30%以上。
計算存儲的好處
從傳統(tǒng)存儲轉(zhuǎn)向計算存儲有什么好處呢?
舉個例子,美國環(huán)境保護署(US EPA)每小時會采集美國數(shù)百個城市的污染物含量,以檢測空氣質(zhì)量。這些測量值已經(jīng)有數(shù)百萬條,每天還在不斷增長。如果要在這海量的數(shù)據(jù)庫中查找某些數(shù)據(jù),需要將一個個的數(shù)據(jù)庫從存儲服務(wù)器SSD復(fù)制到與主機處理器關(guān)聯(lián)的DRAM上,然后主機CPU掃描并查找所有記錄,直到系統(tǒng)從數(shù)百萬條記錄中提取所有相關(guān)信息,這樣做無疑是大海撈針,耗時耗力。
而如果使用計算存儲系統(tǒng),將存儲服務(wù)器中的固態(tài)硬盤替換為內(nèi)置有處理能力的計算存儲硬盤,要查找某個信息,只需由主機服務(wù)器向存儲服務(wù)器發(fā)送請求,請求其提供相關(guān)記錄,這樣每個計算存儲硬盤中的處理器都會對信息進行預(yù)處理,僅返回相關(guān)信息,而不是移動整個含有百萬條記錄的數(shù)據(jù)庫。這樣的好處是,數(shù)據(jù)處理占用了更少的網(wǎng)絡(luò)帶寬,因為只有一小部分?jǐn)?shù)據(jù)庫通過網(wǎng)絡(luò)發(fā)送;需要的主機CPU周期也會少的多,因為主機CPU只需要查看相關(guān)記錄,而不是整個數(shù)據(jù)庫。
圖1:將傳統(tǒng)的計算數(shù)據(jù)傳輸與計算存儲進行比較。
那么數(shù)據(jù)究竟是如何在計算存儲事務(wù)中流動的呢?如圖2所示。首先,傳統(tǒng)的主機請求通過主機接口進入存儲SSD控制器(計算存儲硬盤),以請求數(shù)據(jù)。從SSD提取到DRAM并由主機處理器處理的數(shù)據(jù)可能極其龐大。在這種情況下,主機向計算存儲處理器發(fā)送簡單的高級命令,以請求開始事務(wù)。
其次,計算存儲處理器啟動并分析來自主機的命令,然后向DRAM發(fā)起讀取請求。該請求告知存儲處理器構(gòu)建傳輸描述符(步驟3),該描述符隨后用于調(diào)度到適當(dāng)?shù)腇lash通道,以從NAND閃存元素獲取讀取數(shù)據(jù)(步驟4)。
圖2:從主機到分派描述符的計算存儲硬盤數(shù)據(jù)流
接下來,從NAND Flash通道引入計算存儲處理器的讀取請求進行分析,如圖3所示。處理器查找請求的數(shù)據(jù)或密鑰匹配。如果找到匹配記錄,則將該匹配記錄發(fā)送到DDR DRAM(步驟6)。然后,將數(shù)據(jù)打包在主機接口協(xié)議中,并通過主機接口將數(shù)據(jù)DMA發(fā)送到主機內(nèi)存,然后由主機處理器進行處理或使用(步驟7)。一旦完成,計算存儲處理器將消息發(fā)送回主機處理器,告知事務(wù)已完成且數(shù)據(jù)可用,或者如果過程沒有實現(xiàn)匹配,則發(fā)送一條錯誤消息(步驟8)。
圖3:計算存儲硬盤從讀取數(shù)據(jù)到成功完成指示的數(shù)據(jù)流
在計算存儲系統(tǒng)中,隨著存儲量和硬盤數(shù)量的增加,存儲設(shè)備中的計算處理器的數(shù)量也隨之增加。因此,處理能力隨存儲而擴展。計算存儲處理器可以優(yōu)化為特定工作負(fù)載,以進一步改善性能。
使用計算存儲可減少從本地存儲(NAND Flash)發(fā)送到DRAM以供主機處理的數(shù)據(jù)量。在美國EPA的示例中可以看到,只有極少量的記錄需要將數(shù)據(jù)存儲在DRAM中,從而釋放主機處理器,使其專注于最重要數(shù)據(jù)。
AI正在為計算存儲助力
當(dāng)今的系統(tǒng)會在邊緣側(cè)生成大量數(shù)據(jù),相比于把所有數(shù)據(jù)通過云端發(fā)送回去再處理,直接在邊緣進行計算存儲,可以減少數(shù)據(jù)的移動,同時運用AI技術(shù),可以將邊緣端本地存儲的數(shù)據(jù)進行單獨的離線處理,然后僅將所需數(shù)據(jù)移動到主機或數(shù)據(jù)中心,能夠大幅降低功耗和金錢成本,提升性能。
隨著人工智能(AI)技術(shù)對人類大腦功能和神經(jīng)元的學(xué)習(xí),形成了更多數(shù)學(xué)函數(shù),創(chuàng)建出可以處理數(shù)據(jù)的專用硬件、加速器和神經(jīng)網(wǎng)絡(luò)引擎,計算存儲的功能和效率也將得到進一步的優(yōu)化和提升。
那么有哪些應(yīng)用適合用計算存儲?例如處理器卸載、視頻轉(zhuǎn)碼和搜索文本、圖像或視頻,也包括汽車應(yīng)用中的圖像分類和對象檢測與分類,這些應(yīng)用都可以使用機器學(xué)習(xí)、加密和/或壓縮,來簡化或減少需要在系統(tǒng)周圍傳輸?shù)街鳈C處理器的數(shù)據(jù)量。
明白了計算存儲對系統(tǒng)的幫助之后,我們就要開始考慮采用哪種處理器來管理數(shù)據(jù),因為更多的計算能力所需要的處理能力也就更高。
選擇合適的計算存儲處理器IP
針對計算存儲的應(yīng)用,新思科技推出了ARC HS4x/HS4xD處理器IP。
DesignWare®ARC®處理器IP可提供非常靈活、可擴展的架構(gòu)。其廣泛的處理器產(chǎn)品組合涵蓋從低端三級管道處理器,到更高端的10級管道實時和嵌入式應(yīng)用處理器。此外,新思科技的嵌入式視覺處理器還提供神經(jīng)網(wǎng)絡(luò)加速器,可以幫助進行AI部分的處理。
圖4:一個計算存儲硬盤可以包含多個用于不同功能的ARC®處理器
隨著計算存儲驅(qū)動器收到的計算需求不斷增加,數(shù)據(jù)處理壓力增大,為了滿足這些需求,DesignWare®ARC®HS6x處理器采用Dual Issue 64位超標(biāo)量架構(gòu)(圖5),可提供高達6.1 CoreMark/MHz的性能,體積小且功耗低。ARC®HS6x處理器基于先進的ARCv3指令集架構(gòu)(ISA)和管道,可提供領(lǐng)先的功率效率和代碼密度。該處理器具有52位物理地址空間,可直接解決內(nèi)存大小高達4.5 PB(4.5x1015)的問題。
當(dāng)我們將更多外部計算從存儲訪問控制轉(zhuǎn)入本地存儲處理器時,將需要構(gòu)建額外的處理能力,以支持所需的編程工作負(fù)載。ARC®HS6x內(nèi)核非常適合提供這種額外的處理能力。
圖5:ARC HS6x處理器
對于需要更高性能的應(yīng)用,HS6x的多核處理器版本可在單個一致的處理器群集中支持多達12個ARC®HS6x CPU內(nèi)核和多達16個硬件加速器。
結(jié)語
從傳統(tǒng)存儲架構(gòu)到計算存儲的轉(zhuǎn)變正在發(fā)生。相比在傳統(tǒng)存儲系統(tǒng)中,主機處理器需要處理從存儲到DRAM的所有存儲請求和數(shù)據(jù)副本,轉(zhuǎn)向存儲內(nèi)或計算存儲架構(gòu),在硬盤上本地操作數(shù)據(jù),此種方式將更加降本增效。新思科技的處理器IP將為計算存儲的發(fā)展提供強有力的支撐。