NVIDIA DOCA 軟件框架包括編程 NVIDIA BlueField 數(shù)據(jù)處理器 ( DPU )并提供一致的體驗,無論開發(fā)環(huán)境如何。 NVIDIA 提供以下資源:
開發(fā)人員計劃
SDK 管理器支持
工具匯編:
編譯器
基準測試
參考應(yīng)用程序
使用案例
NVIDIA 通過為開發(fā)人員提供 DOCA SDK 和用于開箱即用部署的 DOCA 運行時軟件來提供堆棧。
DOCA 驅(qū)動程序還是 DOCA 庫?
DOCA 驅(qū)動程序和 DOCA 庫是開發(fā)人員、 IT 安全和運營團隊以及 IT 管理員的關(guān)鍵部分。它們用于為 DPU 開發(fā)和部署軟件定義和硬件加速的應(yīng)用程序。然而,我有時會收到關(guān)于正確使用的問題。
為了確保沒有混淆,并確定哪種可能最適合您的開發(fā)需求,我寫了這篇文章來討論何時使用哪種。
表 1 DOCA 驅(qū)動程序與 DOCA 庫
表 1 比較了驅(qū)動程序和庫,并強調(diào)了各自的優(yōu)缺點。本質(zhì)上, DOCA 驅(qū)動程序提供了更大的定制空間,而 DOCA 庫的設(shè)計旨在以更低的編碼復(fù)雜性提供最佳的每個用例性能和擴展。
DOCA 庫
首先, DOCA 庫是針對特定用例優(yōu)化的高級抽象 API 。庫可以通過更快的開發(fā)時間和上市時間來實現(xiàn)優(yōu)異的性能。它們還包括各種指南和示例應(yīng)用程序,這些應(yīng)用程序在用于開發(fā)時比 DOCA 驅(qū)動程序的學(xué)習(xí)曲線更短。
NVIDIA 庫已提前加速。它們使您能夠快速構(gòu)建各種應(yīng)用程序,并顯著提高性能,因為已經(jīng)為指定用例創(chuàng)建和調(diào)整了邏輯。它們還確保了多代兼容性,這在使用 DOCA 驅(qū)動程序時是無法保證的。
這些庫旨在解決特定的用例,如防火墻、網(wǎng)關(guān)或存儲控制器。它們使用 PMD 和 DPDK ,并包含 DPDK 或驅(qū)動程序級別不存在的其他功能和邏輯。
例如,如果使用 RegEx 識別用于深度數(shù)據(jù)包檢查( DPI )的復(fù)雜字符串模式, DOCA DPI 庫包括預(yù)處理(數(shù)據(jù)包頭解析)和后處理例程,以便更容易使用 RegEx 加速器對網(wǎng)絡(luò)數(shù)據(jù)包執(zhí)行操作。 DPDK RegEx API 不包含任何這些內(nèi)容。 DOCA DPI 庫 API 是抽象的,更易于開發(fā)數(shù)據(jù)包檢查例程,因為不需要理解邏輯。
DOCA 庫允許您選擇具有內(nèi)置硬件加速的首選 API 。 DOCA 1.3 的當前版本包括 120 多個 DOCA API :
零信任安全框架
遙測加速服務(wù)
流式服務(wù)實現(xiàn)實時可見性
這些服務(wù)可通過 NGC Catalog 獲得,并可在幾分鐘內(nèi)部署到 BlueField DPU 上。
這些庫的價值是通過運行時環(huán)境、 DOCA 服務(wù)和一組擴展的文檔來實現(xiàn)的。一般的圖書館用戶不會開發(fā)應(yīng)用程序,而是利用 NVIDIA 或第三方提供的現(xiàn)有應(yīng)用程序和服務(wù)。
DOCA 服務(wù)是由多個項目組成的容器化驅(qū)動程序和庫,可以作為服務(wù)運行以提供特定功能。每個服務(wù)都提供不同的功能,例如 DOCA 遙測 API ,它可以在幾分鐘內(nèi)從 NGC 目錄中提取。它提供了一種快速方便的方法來收集用戶定義的數(shù)據(jù)并將其傳輸?shù)?DOCA 遙測服務(wù)( DTS )。
此外, API 還提供了幾個內(nèi)置輸出以方便用戶,包括將數(shù)據(jù)直接保存到存儲器、 NetFlow 、 Fluent 位轉(zhuǎn)發(fā)和 Prometheus 端點。
這些庫中的每一個都共享對象,并且除了它們各自使用 PMD 驅(qū)動程序之外,沒有以任何方式綁定。類似地,每個都有一個公共基礎(chǔ)設(shè)施,每個都有自己的 文檔和程序員指南 。
DOCA 驅(qū)動程序和 DOCA SDK
雖然庫消除了低級編程,但它們可能不支持您正在尋找的所有特性和功能,因此 NVIDIA 提供了 DOCA 驅(qū)動程序。 DOCA 驅(qū)動程序是基于開源的,如果您正在開發(fā)自己的解決方案或必須創(chuàng)建獨特的解決方案,則可以提供更大的靈活性。
NVIDIA 驅(qū)動程序是為開發(fā)人員設(shè)計的,通過 DOCA SDK 提供。 SDK 包括創(chuàng)建和構(gòu)建應(yīng)用程序所需的所有組件,包括參考應(yīng)用程序源、開發(fā)工具、文檔和 NVIDIA SDK 管理器。 SDK 管理器支持快速部署開發(fā)環(huán)境,還可以將映像閃存并安裝到本地 DPU 。
開發(fā)人員容器支持在任何地方開發(fā) DOCA 加速的應(yīng)用程序。您不必在 DPU 上的 Arm 處理器上執(zhí)行此操作。在具有物理 DPU 的主機上,可以在開發(fā)人員容器中執(zhí)行此操作,該容器模擬 Arm 處理器。 NVIDIA 提供了詳細的文檔、示例和 API 兼容性。
DOCA SDK 是利用 DOCA 庫和驅(qū)動程序并創(chuàng)建獨特的個性化軟件以滿足應(yīng)用程序開發(fā)需求的最有效方法。
DOCA 運行時也可用于驗證和測試應(yīng)用程序。
DOCA 運行時
如果您尚未準備好或無法將應(yīng)用程序移植到 Arm 體系結(jié)構(gòu), NVIDIA 將為 x86 提供 DOCA 運行時。在這種情況下, gRPC 客戶端在 DPU 上運行,并與 x86 運行時建立通信通道。應(yīng)用程序可以訪問 DPU 運行時組件,您不必編譯任何 Arm 代碼。
軟件定義、硬件加速的基礎(chǔ)架構(gòu)
DOCA 簡化了 BlueField DPU 的編程和應(yīng)用程序開發(fā),并通過提供更高級別的抽象消除了障礙。通過提供運行時二進制文件和高級 API , DOCA 框架使您能夠?qū)W⒂趹?yīng)用程序代碼,而不是學(xué)習(xí)。
您可以選擇兩種開發(fā)路線:通過庫和服務(wù)或通過 SDK 和驅(qū)動程序。目前, DOCA 軟件棧包括 120 多個 DOCA API ,全球 2500 多名 DOCA 開發(fā)人員正在使用這些 API 。它們可通過 NGC Catalog 獲得。
關(guān)于作者
Scott Ciccone 于 2020 年作為 Cumulus Networks 收購的一部分加入后,目前擔(dān)任 NVIDIA 的產(chǎn)品營銷總監(jiān)。 Scott 在產(chǎn)品營銷和產(chǎn)品管理方面擁有 20 多年的經(jīng)驗,擅長在高增長環(huán)境下啟動新的業(yè)務(wù)線,包括 Cumulus Networks , Palo Alto Networks 、 Cisco 和 Sun Microsystems 。斯科特在羅切斯特理工學(xué)院獲得生物醫(yī)學(xué)計算學(xué)士學(xué)位,在巴布森學(xué)院獲得市場營銷工商管理碩士學(xué)位。
審核編輯:郭婷
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5053瀏覽量
103365 -
API
+關(guān)注
關(guān)注
2文章
1507瀏覽量
62218 -
SDK
+關(guān)注
關(guān)注
3文章
1042瀏覽量
46078
發(fā)布評論請先 登錄
相關(guān)推薦
評論