相較於結合了運算單元與網路卡的「智慧型網路卡」,結合了運算單元,以及快閃儲存裝置的「智慧型SSD(Intelligent SSD)」,歷史相對短了許多,是這4、5年才成熟的新型加速運算裝置。

智慧型SSD的正式稱呼是「運算型儲存(Computational Storage)」 ,顧名思義,是一種擁有運算能力的儲存裝置,基本概念與智慧型網路卡相似,都是透過裝置上內含的嵌入式處理器,幫助卸載伺服器CPU的運算負擔,藉此釋放出更多CPU資源給應用程式,進而提高資源利用率與整體效能。

但比起由網路卡延伸發展的智慧型網路卡,基於SSD的智慧型SSD,針對的應用型態與廠商生態,也有所差異。

智慧型SSD的應用訴求,是「就近」處理自身儲存的資料,從而「在儲存裝置上同時完成運算與儲存」,如此一來,便無須耗費CPU週期、經由PCIe匯流排將資料從後端儲存裝置讀取到記憶體中進行運算,減少了資料傳輸與移動的需求,達到加快處理速度、減少延遲的目標。

標準化的努力

相對於主要由網路卡廠商推動的智慧型網路卡,智慧型SSD理所當然是由儲存廠商主導,不過比起自行其是的智慧型網路卡廠商們,在智慧型SSD領域,則有標準化組織領導發展共通標準。

為避免生態系分裂為互不相容的產品,儲存網路工業協會(SNIA)成立了運算型儲存技術工作小組(Technical Work Group),正在制定標準,並發展一套通用程式編撰模型,最終目標是運算型儲存應用的通用化,讓用戶端的應用程式,能透過標準化的介面,發現與使用連接到伺服器主機上的任何運算型儲存設備資源。

SNIA目前將運算型儲存設備,分成3個層級:

● 運算型儲存處理器(Computational Storage Processor,CSP):指運算引擎,不包含儲存裝置。

● 運算型儲存裝置(Computational Storage Drive,CSD):結合了運算引擎與儲存單元而成。

● 運算型儲存陣列(Computational Storage Array,CSA):由多組運算引擎與儲存裝置,加上陣列控制器組成的設備。

在SNIA框架下,列出了一系列可由運算型儲存設備執行的功能列表,並區分了兩種產品:

● 固定用途(Fixed Purpose)運算型儲存:提供定義明確的運算型儲存服務,如壓縮、erasure coding、加密等。

● 通用(General Purpose)運算型儲存:提供可程式化的運算型儲存服務,執行客製化的運算功能。

新創廠商引領產品發展

不同於大廠林立的智慧型網路卡領域,在智慧型SSD的領域,目前除了三星以外,其餘供應商如NGD System、ScaleFlux、Eideticom等,大多數為新創公司。

以產品層級來說,三星、NGD System與ScaleFlux的產品,都屬於運算型儲存裝置(CSD),也就是完整的智慧型SSD產品,Eideticom與Pliops的產品則屬於運算型儲存處理器(CSP),只含運算引擎,須另外搭配儲存裝置運作。

在產品應用用途方面,ScaleFlux、Eideticom與Pliops的產品是以固定運算功能為主,如ScaleFlux著重在壓縮,Eideticom能提供壓縮、erasure coding、加密、重複資料刪除與機器學習等功能,Pliops則專門提供資料庫KV值作業加速。至於三星與NGD System,則強調執行客製化程式的多用途能力。

而就最關鍵的運算核心來說,相較於智慧型網路卡領域,呈現多核處理器、FPGA與訂製網路處理器三大類型鼎立的局面,智慧型SSD目前是以FPGA為主流,多數產品的運算引擎都是基於Xilinx FPGA,但目前出現了朝向Arm多核處理器轉型的趨勢。

其中,NGD System已率先完成從FPGA向Arm處理器的轉型,他們的前2代產品Catalina-1與Catalina-2,原本都是基於Xilinx FPGA,但新的Newport Platform系列產品,便轉換到內嵌在該公司專屬ASIC晶片中的Arm處理器。

ScaleFlux也已表明,預定於今年下半年發表的下一代產品中,將以基於Arm處理器的運算核心,取代目前使用的FPGA,藉此可以降低成本與功耗、提高速度,並提供更多的運算功能。

最特別的是Nyriad,其用於搭配自身Nsulate儲存平臺的加速卡,是基於Nvidia GPU,可以提供erasure coding功能,也能用於其他運算。

最後,雖然SNIA正在發展通用的標準化應用介面,但是,就目前而言,用戶端還是必須透過各廠商各自提供的開發工具與API,才能使用智慧型SSD的運算功能。

智慧型SSD vs. 智慧型網路卡:角色與特性的異同

智慧型SSD與智慧型網路卡,都是內含嵌入式運算單元的伺服器加速裝置,目的也同樣是卸載伺服器CPU的運算負擔,但是,儘管基本應用概念相同,由於產品的型態差異,促使兩種裝置存在著一系列關鍵區別。

角色與應用定位

SSD與網路卡這兩種裝置,在伺服器上有著不同位置與角色,因此分別由兩者發展來的智慧型SSD與智慧型網路卡,也各自有著合適的運用方式。

網路卡位於伺服器I/O最前端、作為資料流出入口,所以智慧型網路卡先天適合執行針對I/O資料流進出的即時處理相關運算,例如網路與儲存傳輸協定,以及安全控管方面的運算卸載。

SSD位於伺服器I/O最末端,是資料最終保存之處,因而智慧型SSD適合針對已寫入資料的相關運算,例如資料庫查詢、掃描、AI學習、資料分析、影像處理等。

也就是說,合理的運用概念,是讓運算裝置「就近」處理運算工作,盡可能減少資料移動。智慧型網路卡位於I/O出入口,適合「就近」處理網路傳輸與安全方面的運算;智慧型SSD位於資料保存位置,適合「就近」執行儲存資料的分析運算。反之,若違反「就近運算」原則,就會產生資料搬移需求,必須耗費CPU週期與PCIe傳輸,以致帶來額外延遲。

裝置型式與傳輸通道的差異

比起網路卡型式的智慧型網路卡,智慧型SSD產品的型態更為多元,包含常見的2.5吋U.2或M.2規格SSD,PCIe SSD卡,還有長尺狀的EDSFF規格,除了PCIe SSD卡是透過PCIe插槽連接主機外,其餘幾種規格,都是藉由NVMe介面,嫁接到PCIe匯流排上,但這也形成了傳輸頻寬的相對劣勢。

NVMe目前只達到PCIe 3.0 x4,而高速網路卡是從PCIe 3.0 x8起跳,部分還是採用PCIe 3.0 x16或PCIe 4.0 x8,所以,基於NVMe的智慧型SSD,與伺服器主機之間的傳輸頻寬,只有智慧型網路卡的一半或1/4。

但另一方面,比起必須占用PCIe擴充槽的智慧型網路卡,透過NVMe磁碟槽部署的智慧型SSD,有利於「以量取勝」,獲得相當可觀的運算能力。如ScaleFlux便聲稱,每臺伺服器可安裝8臺他們的CSS系列智慧型SSD,NGD System還測試過在2U伺服器上滿載24臺智慧型SSD的機器學習系統,遠超過單一伺服器所能部署的智慧型網路卡數量。

熱門新聞

Advertisement