NVIDIA DOCA 軟件框架包括了對 NVIDIA BlueField DPU (數(shù)據(jù)處理器)進行編程所需的一切,無論開發(fā)環(huán)境如何都能提供一致的開發(fā)體驗。NVIDIA 提供以下資源:
開發(fā)者計劃
SDK Manager 支持
工具匯總:
編譯器
基準測試
參考應(yīng)用程序
使用案例
NVIDIA 通過為開發(fā)者提供 DOCA SDK 和為快速部署提供 DOCA 運行時軟件來交付軟件堆棧。
選擇 DOCA 驅(qū)動程序還是 DOCA 庫?
DOCA 驅(qū)動程序和 DOCA 庫是關(guān)鍵組件,適用于開發(fā)人員、IT 安全和運營團隊,以及 IT 管理員。它們被用于在 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)用程序,在用于開發(fā)時比 DOCA 驅(qū)動程序的學(xué)習(xí)時間更短。
NVIDIA 庫已預(yù)先加速。它們使您能夠快速構(gòu)建各種應(yī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 并不包含任何這些。DOCA DPI 庫 API 是抽象的,更易于開發(fā)數(shù)據(jù)包檢測例程,因為不需要了解邏輯。
DOCA 庫使您能夠選擇具有內(nèi)置硬件加速功能的首選 API 。DOCA 1.3 的當(dāng)前版本包括 120 多個 DOCA API :
零信任安全框架
遙測加速服務(wù)
流式服務(wù)實現(xiàn)實時可見性
這些服務(wù)可通過 NGC Catalog 獲得,并可在幾分鐘內(nèi)部署到 NVIDIA BlueField DPU 上。
這些庫的價值是通過運行時環(huán)境、DOCA 服務(wù)和一組擴展的文檔來實現(xiàn)的。典型的庫用戶不應(yīng)開發(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 Bit Forwarding 和 Prometheus endpoint 。
這些庫中的每一個都共享對象,并且除了它們各自使用 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 Manger 。SDK Manager 支持快速部署開發(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 代碼。
圖 1. NVIDIA DOCA 軟件堆棧
軟件定義、硬件加速的基礎(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 獲得。
如果您是 DOCA 的新手,NVIDIA 提供免費的自主課程,使用DOCA 開發(fā)DPU 應(yīng)用入門,它涵蓋了 DOCA 平臺的基本要點。
-
NVIDIA
+關(guān)注
關(guān)注
14文章
5002瀏覽量
103233 -
軟件
+關(guān)注
關(guān)注
69文章
4968瀏覽量
87672 -
DPU
+關(guān)注
關(guān)注
0文章
365瀏覽量
24211 -
驅(qū)動程序
+關(guān)注
關(guān)注
19文章
838瀏覽量
48087
發(fā)布評論請先 登錄
相關(guān)推薦
評論