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