特定領(lǐng)域架構(gòu)(Domain-Specific Architecture, DSA)、異構(gòu)計(jì)算(Heterogeneous Computing)和計(jì)算存儲(chǔ)

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

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

Linux促進(jìn)計(jì)算存儲(chǔ)的實(shí)現(xiàn)

實(shí)現(xiàn)計(jì)算存儲(chǔ)的方法有很多種,但關(guān)鍵的要求是在存儲(chǔ)控制器中嵌入處理的能力,使其可以運(yùn)行功能豐富的操作系統(tǒng),例如Linux和軟件組件。如此一來(lái),可以帶來(lái)以下這些好處:

——擁有龐大Linux開(kāi)發(fā)者社區(qū)的開(kāi)源軟件。具有龐大Linux開(kāi)發(fā)者社區(qū)和行業(yè)廣泛使用的標(biāo)準(zhǔn)工具的開(kāi)源軟件能讓開(kāi)發(fā)體驗(yàn)更加輕松。通過(guò)創(chuàng)建工作負(fù)載,開(kāi)發(fā)者可以使用駕輕就熟的開(kāi)發(fā)方式來(lái)構(gòu)建遵循SNIA的標(biāo)準(zhǔn)的軟件程序,并采用基于Linux的標(biāo)準(zhǔn)系統(tǒng)將其部署到存儲(chǔ)設(shè)備,這不僅簡(jiǎn)化了系統(tǒng),并且讓軟件開(kāi)發(fā)更為輕松便捷。

——易用的工具。感謝Linux開(kāi)源生態(tài)的的豐富資源,開(kāi)發(fā)者獲取廣大的工具、文檔和支持易如反掌,從而可以更順暢地開(kāi)發(fā)、部署以及管理計(jì)算存儲(chǔ)工作負(fù)載。如此一來(lái),開(kāi)發(fā)者能快速將當(dāng)前模式下運(yùn)行在計(jì)算節(jié)點(diǎn)上的功能模塊遷移至計(jì)算存儲(chǔ)盤(pán)上。

——啟動(dòng)智能存儲(chǔ)。在標(biāo)準(zhǔn)的NVMe盤(pán)中,由于存儲(chǔ)控制器并不理解所處理的數(shù)據(jù)的內(nèi)容和屬性,而是純粹把數(shù)據(jù)塊當(dāng)作黑盒來(lái)處理,所以難以實(shí)現(xiàn)數(shù)據(jù)的智能管理。在當(dāng)前模式下,存儲(chǔ)控制器對(duì)接收到的數(shù)據(jù)塊進(jìn)行拆分,然后將它們存儲(chǔ)在NAND晶粒中的頁(yè)面。當(dāng)服務(wù)器發(fā)送數(shù)據(jù)塊的請(qǐng)求時(shí),存儲(chǔ)控制器會(huì)從NAND取出數(shù)據(jù),將它們重新組裝成數(shù)據(jù)塊,再傳輸送回服務(wù)器。由于存儲(chǔ)控制器不了解文件系統(tǒng),所以它對(duì)這些數(shù)據(jù)塊的構(gòu)成也一無(wú)所知,不管是JPEG圖像,還是Word文檔,還是可執(zhí)行文件,處理方式都一視同仁。而運(yùn)行Linux的存儲(chǔ)盤(pán)可以?huà)燧d標(biāo)準(zhǔn)文件系統(tǒng),使智能存儲(chǔ)成為可能,同時(shí)CSD的應(yīng)用程序能了解數(shù)據(jù)塊實(shí)際代表哪些文件,并可根據(jù)文件類(lèi)型和屬性直接在數(shù)據(jù)上執(zhí)行相應(yīng)操作。

——存儲(chǔ)盤(pán)就等于一臺(tái)迷你服務(wù)器。運(yùn)行Linux的存儲(chǔ)盤(pán)能通過(guò)現(xiàn)有的標(biāo)準(zhǔn)開(kāi)源系統(tǒng)進(jìn)行硬盤(pán)的管理、工作負(fù)載的開(kāi)發(fā)以及新工作負(fù)載的下載。它用最低的成本將存儲(chǔ)盤(pán)變成了一個(gè)迷你服務(wù)器。

現(xiàn)在您可能不禁想著:難道Linux真的能在計(jì)算存儲(chǔ)中被采用嗎?這個(gè)問(wèn)題的答案是肯定的。這樣的操作系統(tǒng)不會(huì)過(guò)大嗎?這個(gè)問(wèn)題的答案是否定的。

當(dāng)今的存儲(chǔ)盤(pán)已經(jīng)擁有數(shù)個(gè)GB的RAM和數(shù)個(gè)TB的存儲(chǔ)空間,并具備處理進(jìn)出存儲(chǔ)盤(pán)的大量數(shù)據(jù)移動(dòng)的高性能計(jì)算的能力。一般提到Linux,大家可能會(huì)聯(lián)想到在大型服務(wù)器中安裝的大型軟件,并不適用于嵌入式設(shè)備端的存儲(chǔ)、安裝和運(yùn)行,但相比于大型服務(wù)器,在存儲(chǔ)設(shè)備上,我們對(duì)Linux的要求要低得多,其軟件大小也能有顯著的縮減。

存儲(chǔ)設(shè)備上運(yùn)行的Linux不再需要顯示驅(qū)動(dòng)程序,其他部分功能也不適用,可以將之簡(jiǎn)化并根據(jù)存儲(chǔ)控制器的需求進(jìn)行定制,例如,Debian 9只需要512 MB的RAM和2 GB的存儲(chǔ)空間。

通過(guò)利用現(xiàn)在在復(fù)雜系統(tǒng)中使用的標(biāo)準(zhǔn)開(kāi)源工具,我們可以進(jìn)行CSD管理,例如利用Kubernetes、Docker或經(jīng)過(guò)擴(kuò)展的Berkeley Packet Filter(BPF)等常用工具,我們可以安全地下載和管理工作負(fù)載,以安全的方式執(zhí)行應(yīng)用程序或腳本。

具計(jì)算能力的實(shí)時(shí)處理器

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

存儲(chǔ)控制器傳統(tǒng)上是通過(guò)裸機(jī)/RTOS工作負(fù)載的運(yùn)行,作為數(shù)據(jù)的存儲(chǔ)及存??;而Cortex-R82提供可選用的內(nèi)存管理單元(Memory Management Unit, MMU),讓功能豐富的操作系統(tǒng)在存儲(chǔ)控制器上直接運(yùn)行,支撐起計(jì)算存儲(chǔ)的實(shí)現(xiàn)基石。

計(jì)算存儲(chǔ)的未來(lái)就在眼前

目前已有多家合作伙伴提供基于Arm 處理器的存儲(chǔ)設(shè)備,同時(shí)整個(gè)產(chǎn)業(yè)也在致力于讓所有存儲(chǔ)開(kāi)發(fā)者和廠商能一致采用一種通用的實(shí)現(xiàn)方式。Arm 正積極地參與 SNIA 計(jì)算存儲(chǔ)技術(shù)工作小組,并攜手 45 家公司和 202 名成員合作定義標(biāo)準(zhǔn)。這項(xiàng)標(biāo)準(zhǔn)將消除碎片化和缺乏兼容性的風(fēng)險(xiǎn),進(jìn)一步加速計(jì)算存儲(chǔ)的發(fā)展與創(chuàng)新。

【本文作者馬健,Arm物聯(lián)網(wǎng)兼嵌入式事業(yè)部業(yè)務(wù)拓展副總裁】

分享到

xiesc

相關(guān)推薦