計(jì)算存儲(chǔ)將計(jì)算功能添加到存儲(chǔ)驅(qū)動(dòng)器中逐漸成為現(xiàn)實(shí)。NGD,Eideticon和ScaleFlux已將計(jì)算卡添加到SSD中,以使計(jì)算過程能夠在存儲(chǔ)的數(shù)據(jù)上運(yùn)行,而無需將該數(shù)據(jù)移入主機(jī)服務(wù)器內(nèi)存并使用其CPU來處理數(shù)據(jù)。據(jù)說視頻轉(zhuǎn)碼是計(jì)算存儲(chǔ)驅(qū)動(dòng)器(CSD)的好用例。
但是,CSD如何與主機(jī)服務(wù)器交互。Blocks&Files采訪了ScaleFlux的首席科學(xué)家張彤(Tong Zhang),以找出答案。
問題:讓我們假設(shè)有一個(gè)視頻轉(zhuǎn)碼或數(shù)據(jù)庫記錄處理應(yīng)用程序。通常,將新的視頻文件寫入存儲(chǔ)設(shè)備,其中新記錄將出現(xiàn)在數(shù)據(jù)庫中。服務(wù)器應(yīng)用程序會(huì)意識(shí)到這一點(diǎn),并開始處理服務(wù)器中的新數(shù)據(jù)。處理完成后,已轉(zhuǎn)換的數(shù)據(jù)將寫回到存儲(chǔ)中。使用計(jì)算存儲(chǔ),整個(gè)過程是不同的。新數(shù)據(jù)被寫入存儲(chǔ)。現(xiàn)在,服務(wù)器應(yīng)用程序必須告訴驅(qū)動(dòng)器處理器處理數(shù)據(jù)。它是如何做到的?它如何告訴驅(qū)動(dòng)器處理數(shù)據(jù)?
張彤:是的,為了將某些計(jì)算任務(wù)加載到計(jì)算存儲(chǔ)驅(qū)動(dòng)器中,主機(jī)應(yīng)用程序必須能夠與計(jì)算存儲(chǔ)驅(qū)動(dòng)器充分通信。這需要標(biāo)準(zhǔn)化的編程模型和接口協(xié)議,業(yè)界正在積極開發(fā)這些模型和接口協(xié)議(例如,NVMe TP 4091和SNIA計(jì)算存儲(chǔ)工作組)。
問題:驅(qū)動(dòng)器的主要活動(dòng)是為驅(qū)動(dòng)器IO提供服務(wù),而不是處理數(shù)據(jù)。當(dāng)驅(qū)動(dòng)器還為IO請(qǐng)求提供服務(wù)時(shí),驅(qū)動(dòng)器CPU處理數(shù)據(jù)需要多長時(shí)間?時(shí)間長度可以預(yù)測(cè)嗎?
張彤:計(jì)算存儲(chǔ)驅(qū)動(dòng)器在內(nèi)部專用于為驅(qū)動(dòng)器IO服務(wù)的許多嵌入式CPU(例如ARM內(nèi)核),并專用于一定數(shù)量的嵌入式CPU和領(lǐng)域相關(guān)的硬件引擎(例如,壓縮,安全性,搜索,AI / ML,多媒體) 用于執(zhí)行計(jì)算任務(wù)。應(yīng)將CSD控制器設(shè)計(jì)為使領(lǐng)域相關(guān)的硬件引擎的性能與存儲(chǔ)IO性能相匹配。
與任何其他形式的計(jì)算off-loading(例如GPU,TPU,FPGA)一樣,開發(fā)人員在將計(jì)算任務(wù)off-loading到計(jì)算存儲(chǔ)驅(qū)動(dòng)器中時(shí)必須準(zhǔn)確估計(jì)延遲/吞吐量性能指標(biāo)。
問題:完成驅(qū)動(dòng)器上的處理后,驅(qū)動(dòng)器如何告知服務(wù)器應(yīng)用程序數(shù)據(jù)已被處理,現(xiàn)在可以進(jìn)行下一步處理了?使主機(jī)服務(wù)器應(yīng)用程序與計(jì)算存儲(chǔ)設(shè)備進(jìn)行交互的軟件框架是什么?它是一個(gè)開放的標(biāo)準(zhǔn)框架嗎?
張彤:目前尚無開放和標(biāo)準(zhǔn)的框架,并且業(yè)界正在積極地對(duì)其進(jìn)行工作(例如NVMe.org和SNIA計(jì)算存儲(chǔ)工作組)。
問題: 讓我們看一下處理所花費(fèi)的時(shí)間。通常,我們將按以下順序進(jìn)行:服務(wù)器應(yīng)用將新數(shù)據(jù)寫入存儲(chǔ)。它決定處理數(shù)據(jù)。數(shù)據(jù)被讀入存儲(chǔ)器。已處理。數(shù)據(jù)被寫回到存儲(chǔ)中。假設(shè)這需要時(shí)間T-1。與計(jì)算存儲(chǔ)相比,順序有所不同:Server應(yīng)用程序?qū)⑿聰?shù)據(jù)寫入存儲(chǔ)。它決定處理數(shù)據(jù)。它告訴驅(qū)動(dòng)器處理數(shù)據(jù)。驅(qū)動(dòng)器處理數(shù)據(jù)。它告訴服務(wù)器應(yīng)用程序處理完成的時(shí)間。假設(shè)這需要時(shí)間T-2。T-2比T-1大還是小?隨著存儲(chǔ)驅(qū)動(dòng)器IO的上升和下降,T-2和T-1之間的關(guān)系是否隨時(shí)間恒定?如果變化很大,那么計(jì)算存儲(chǔ)肯定不適合關(guān)鍵的處理任務(wù)嗎?處理驅(qū)動(dòng)器上的數(shù)據(jù)是否比處理服務(wù)器本身中的相同數(shù)據(jù)消耗更少的電能?
張彤: T-1和T-2之間的關(guān)系取決于特定的計(jì)算任務(wù)以及主機(jī)和內(nèi)部計(jì)算存儲(chǔ)驅(qū)動(dòng)器上的可用硬件資源。
例如,如果計(jì)算存儲(chǔ)驅(qū)動(dòng)器內(nèi)部具有可以非常有效地處理任務(wù)的領(lǐng)域相關(guān)的的硬件引擎(例如,壓縮,安全性,搜索,AI / ML,多媒體),則T2可以(比T-1小得多) 。但是,如果計(jì)算存儲(chǔ)驅(qū)動(dòng)器必須僅依靠其內(nèi)部ARM內(nèi)核來處理任務(wù),同時(shí)主機(jī)具有足夠的空閑CPU周期,則T-2可以大于T-1。
在計(jì)算存儲(chǔ)驅(qū)動(dòng)器內(nèi)部,IO和計(jì)算任務(wù)由不同的硬件資源提供服務(wù)。因此,它們不會(huì)直接相互干擾。關(guān)于功率消耗,計(jì)算存儲(chǔ)驅(qū)動(dòng)器通常消耗較少的功率。如果當(dāng)前的計(jì)算任務(wù)可以由計(jì)算存儲(chǔ)驅(qū)動(dòng)器內(nèi)部的特定領(lǐng)域硬件引擎很好地完成,那么我們的等待時(shí)間會(huì)更短,同時(shí)功耗也會(huì)更低。
如果當(dāng)前的計(jì)算任務(wù)僅由計(jì)算存儲(chǔ)驅(qū)動(dòng)器內(nèi)部的ARM內(nèi)核承擔(dān),則功耗仍然可以更低,因?yàn)槲覀兇蟠蠼档土藬?shù)據(jù)移動(dòng)引起的功耗以及ARM內(nèi)核的低功耗特性。
問題:我了解到,與服務(wù)器應(yīng)用程序和CPU處理每個(gè)驅(qū)動(dòng)器的數(shù)據(jù)相比,10或20個(gè)驅(qū)動(dòng)器的整體處理速度更快,但是這種并行處理需要多長時(shí)間進(jìn)行一次?
張彤:數(shù)據(jù)密集型應(yīng)用程序(例如AI / ML,數(shù)據(jù)分析,數(shù)據(jù)科學(xué),商業(yè)智能)通常需要對(duì)大量數(shù)據(jù)進(jìn)行高度并行處理,這自然會(huì)受益于所有計(jì)算存儲(chǔ)驅(qū)動(dòng)器內(nèi)部的并行處理。
總結(jié)
為了廣泛使用,CSD將需要一種與主機(jī)服務(wù)器進(jìn)行通信的標(biāo)準(zhǔn)方式,以便它可以請(qǐng)求主機(jī)進(jìn)行工作并在工作完成時(shí)得到通知。為此,需要CSD上的專用處理硬件與常規(guī)驅(qū)動(dòng)器IO處理硬件分開,以確保可預(yù)測(cè)的處理時(shí)間。
需要相對(duì)較低級(jí)別處理大量存儲(chǔ)數(shù)據(jù)的較新的分析樣式工作負(fù)載可以從CSD而不是由主機(jī)服務(wù)器CPU進(jìn)行的并行處理中受益。NVMe.org和SNIA的計(jì)算存儲(chǔ)工作組制定的標(biāo)準(zhǔn)將成為CSD采用該技術(shù)成為主流的途徑。
我們還認(rèn)為,CSD將需要一個(gè)標(biāo)準(zhǔn)接口來與GPU對(duì)話。毫無疑問,標(biāo)準(zhǔn)機(jī)構(gòu)也在為此進(jìn)行準(zhǔn)備工作。
編輯:lyn
-
cpu
+關(guān)注
關(guān)注
68文章
10854瀏覽量
211587 -
服務(wù)器
+關(guān)注
關(guān)注
12文章
9123瀏覽量
85328 -
CSD
+關(guān)注
關(guān)注
0文章
56瀏覽量
12680
原文標(biāo)題:計(jì)算存儲(chǔ)如何與主機(jī)服務(wù)器交互?
文章出處:【微信號(hào):TopStorage,微信公眾號(hào):存儲(chǔ)加速器】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論