特定領域架構(Domain-Specific Architecture, DSA)、異構計算(Heterogeneous Computing)和計算存儲

實現計算存儲的方法有很多種,但關鍵的要求是在存儲控制器中嵌入處理的能力。說到數據處理以及計算能力,CPU處理器自然是首當其沖。CPU作為通用處理器,是個名副其實的“通才”,擅長執行指令運算和數值運算。CPU適用于各種工作負載,尤其是那些對延遲或每核性能很重要的工作負載。作為一個強大的執行引擎,CPU將其較少數量的內核集中在單個任務和快速完成任務上。這使得它非常適合從串行計算到運行數據庫的工作。另外,CPU編程容易、生態成熟、擁有豐富的工具鏈和廣泛的開發者支持,尤其是在計算存儲方興未艾,跑在CSD上的應用負載還不明確和成熟的情況下,CPU可以給予計算存儲系統更多的靈活性。

特殊領域的加速器是計算和數據處理領域的“專才”,對于特定領域的應用和負載能提供顯著的性能和效率的提升。在選擇特殊領域的加速器的時候,需要特別注意兩點:一是實際部署或者計劃部署在CSD上的應用負載與加速器適合的負載匹配;二是編程的便利性,是否能夠賦能廣大的軟件開發人員來利用加速器所帶來的收益。

Linux促進計算存儲的實現

實現計算存儲的方法有很多種,但關鍵的要求是在存儲控制器中嵌入處理的能力,使其可以運行功能豐富的操作系統,例如Linux和軟件組件。如此一來,可以帶來以下這些好處:

具有龐大Linux開發者社區和行業廣泛使用的標準工具的開源軟件能讓開發體驗更加輕松。通過創建工作負載,開發者可以使用駕輕就熟的開發方式來構建遵循SNIA的標準的軟件程序,并采用基于Linux的標準系統將其部署到存儲設備,這不僅簡化了系統,并且讓軟件開發更為輕松便捷。

感謝Linux開源生態的的豐富資源,開發者獲取廣大的工具、文檔和支持易如反掌,從而可以更順暢地開發、部署以及管理計算存儲工作負載。如此一來,開發者能快速將當前模式下運行在計算節點上的功能模塊遷移至計算存儲盤上。

在標準的NVMe盤中,由于存儲控制器并不理解所處理的數據的內容和屬性,而是純粹把數據塊當作黑盒來處理,所以難以實現數據的智能管理。在當前模式下,存儲控制器對接收到的數據塊進行拆分,然后將它們存儲在NAND晶粒中的頁面。當服務器發送數據塊的請求時,存儲控制器會從NAND取出數據,將它們重新組裝成數據塊,再傳輸送回服務器。由于存儲控制器不了解文件系統,所以它對這些數據塊的構成也一無所知,不管是JPEG圖像,還是Word文檔,還是可執行文件,處理方式都一視同仁。而運行Linux的存儲盤可以掛載標準文件系統,使智能存儲成為可能,同時CSD的應用程序能了解數據塊實際代表哪些文件,并可根據文件類型和屬性直接在數據上執行相應操作。

運行Linux的存儲盤能通過現有的標準開源系統進行硬盤的管理、工作負載的開發以及新工作負載的下載。它用最低的成本將存儲盤變成了一個迷你服務器。

現在您可能不禁想著:難道Linux真的能在計算存儲中被采用嗎?這個問題的答案是肯定的。這樣的操作系統不會過大嗎?這個問題的答案是否定的。

當今的存儲盤已經擁有數個GB的RAM和數個TB的存儲空間,并具備處理進出存儲盤的大量數據移動的高性能計算的能力。一般提到Linux,大家可能會聯想到在大型服務器中安裝的大型軟件,并不適用于嵌入式設備端的存儲、安裝和運行,但相比于大型服務器,在存儲設備上,我們對Linux的要求要低得多,其軟件大小也能有顯著的縮減。

存儲設備上運行的Linux不再需要顯示驅動程序,其他部分功能也不適用,可以將之簡化并根據存儲控制器的需求進行定制,例如,Debian 9只需要512 MB的RAM和2 GB的存儲空間。

通過利用現在在復雜系統中使用的標準開源工具,我們可以進行CSD管理,例如利用Kubernetes、Docker或經過擴展的Berkeley Packet Filter(BPF)等常用工具,我們可以安全地下載和管理工作負載,以安全的方式執行應用程序或腳本。

具計算能力的實時處理器

從處理器的角度思考,實現計算型存儲有幾種方式,最為常見的就是將Arm Cortex-A應用處理器嵌入固態硬盤控制器的芯片中,這樣的話,存儲處理器就可以直接支持Linux的運行,這是一個不錯的選擇。但是存儲設備對處理器的一個剛需是提供具有高確定性的實時行為,以保證數據搬運的速度和效率。為了顧全計算存儲設備所應該具備的實時響應與計算能力,Arm在實時處理器Cortex-R系列開發出支持64位與Linux支持能力的Cortex-R82,與過去應用于存儲設備的其他Cortex-R系列產品相比,最高可達到2倍的性能提升。Cortex-R82還可以加載Arm Neon技術,使存儲應用較低的時延運行包括機器學習等新的工作負載,并提供額外的加速。此外,Cortex-R82本身為64位架構,最高可以存取1 TB的DRAM,在數據量激增和存儲容量顯著提高的未來供存儲應用進行先進的數據處理。

存儲控制器傳統上是通過裸機/RTOS工作負載的運行,作為數據的存儲及存??;而Cortex-R82提供可選用的內存管理單元(Memory Management Unit, MMU),讓功能豐富的操作系統在存儲控制器上直接運行,支撐起計算存儲的實現基石。

計算存儲的未來就在眼前

目前已有多家合作伙伴提供基于Arm 處理器的存儲設備,同時整個產業也在致力于讓所有存儲開發者和廠商能一致采用一種通用的實現方式。Arm 正積極地參與 SNIA 計算存儲技術工作小組,并攜手 45 家公司和 202 名成員合作定義標準。這項標準將消除碎片化和缺乏兼容性的風險,進一步加速計算存儲的發展與創新。

本文作者:Arm物聯網兼嵌入式事業部業務拓展 副總裁 馬健

未經允許不得轉載:存儲在線-存儲專業媒體 » 通過計算存儲 加快創新實現
分享到

songjy

相關推薦

精品国产午夜肉伦伦影院,双性老师灌满浓jing上课h,天天做天天爱夜夜爽,攵女乱h边做边走