NVIDIA DOCA 軟件框架包括了對 NVIDIA BlueField DPU (數據處理器)進行編程所需的一切,無論開發環境如何都能提供一致的開發體驗。NVIDIA 提供以下資源:
開發者計劃
SDK Manager 支持
工具匯總:
編譯器
基準測試
參考應用程序
使用案例
NVIDIA 通過為開發者提供 DOCA SDK 和為快速部署提供 DOCA 運行時軟件來交付軟件堆棧。
選擇 DOCA 驅動程序還是 DOCA 庫?
DOCA 驅動程序和 DOCA 庫是關鍵組件,適用于開發人員、IT 安全和運營團隊,以及 IT 管理員。它們被用于在 DPU 上開發和部署軟件定義、硬件加速的應用程序。但是,有時會收到關于如何正確使用它們的問題。
為了確保沒有混淆,并確定哪種方式可能最適合您的開發需求,這篇文章將討論何時使用哪種方式。
表 1 。 DOCA 驅動程序與 DOCA 庫
表 1 比較了驅動程序和庫,并強調了各自的優缺點。本質上講,DOCA 驅動程序提供了更大的定制空間,而 DOCA 庫的設計旨在以更低的編碼復雜性提供最佳的每個用例性能和可擴展性。
DOCA 庫
首先,DOCA 庫是針對特定用例優化的高級抽象 API 。庫可以通過更短的開發時間和上市時間來實現優異的性能。它們還包括各種指南和示例應用程序,在用于開發時比 DOCA 驅動程序的學習時間更短。
NVIDIA 庫已預先加速。它們使您能夠快速構建各種應用程序,并顯著提高性能,因為已針對指定用例創建和調整了邏輯。它們還確保了多代兼容性,這在使用 DOCA 驅動程序時是無法保證的。
這些庫旨在解決特定的用例,如防火墻、網關或存儲控制器。它們使用 PMD 和 DPDK ,并包含 DPDK 或驅動程序級別不存在的附加功能和邏輯。
例如,如果您使用 RegEx 識別用于深度數據包檢測(DPI)的復雜字符串模式,DOCA DPI 庫包括預處理(數據包頭解析)和后處理例程,以便更容易使用 RegEx 加速器對網絡數據包執行操作。而 DPDK RegEx API 并不包含任何這些。DOCA DPI 庫 API 是抽象的,更易于開發數據包檢測例程,因為不需要了解邏輯。
DOCA 庫使您能夠選擇具有內置硬件加速功能的首選 API 。DOCA 1.3 的當前版本包括 120 多個 DOCA API :
零信任安全框架
遙測加速服務
流式服務實現實時可見性
這些服務可通過 NGC Catalog 獲得,并可在幾分鐘內部署到 NVIDIA BlueField DPU 上。
這些庫的價值是通過運行時環境、DOCA 服務和一組擴展的文檔來實現的。典型的庫用戶不應開發應用程序,而是利用 NVIDIA 或第三方提供的現有應用程序和服務。
DOCA 服務是由多個項目組成的容器化驅動程序和庫,可以作為服務運行以提供特定功能。每個服務都提供不同的功能,例如 DOCA 遙測 API ,它可以在幾分鐘內從 NGC 目錄中獲取。它提供了一種快速便捷的方式來收集用戶定義的數據并將其傳輸到 DOCA 遙測服務(DTS)。
此外,為了方便用戶,API 還提供了幾個內置輸出,包括將數據直接保存到存儲、NetFlow 、Fluent Bit Forwarding 和 Prometheus endpoint 。
這些庫中的每一個都共享對象,并且除了它們各自使用 PMD 驅動程序之外,沒有以任何方式綁定。同樣,每個都有一個公共基礎設施,每個都有自己的文檔和程序員指南。
DOCA 驅動程序和 DOCA SDK
雖然庫消除了低級編程,但它們可能不支持您正在尋找的所有特性和功能,因此 NVIDIA 提供了 DOCA 驅動程序。DOCA 驅動程序是基于開源的,如果您正在開發自己的解決方案或必須創建獨特的解決方案,則可以提供更大的靈活性。
NVIDIA 驅動程序是為開發人員設計的,通過 DOCA SDK 提供。SDK 包括創建和構建應用程序所需的所有組件,包括參考應用源程序、開發工具、文檔和 NVIDIA SDK Manger 。SDK Manager 支持快速部署開發環境,還可以將映像刷寫并安裝到本地 DPU 。
開發人員容器支持在任何地方開發 DOCA 加速的應用程序。您不必在 DPU 上的 Arm 處理器上執行此操作。在不具有物理 DPU 的主機上,您可以在開發者容器中執行此操作,該容器模擬 Arm 處理器。NVIDIA 提供了詳細的文檔、示例和 API 兼容性。
DOCA SDK 是利用 DOCA 庫和驅動程序并創建獨特的個性化軟件,以滿足應用程序開發需求的最有效方法。
DOCA 運行時也可用于驗證和測試應用程序。
DOCA 運行時
如果您尚未準備好或無法將應用程序移植到 Arm 體系結構,NVIDIA 將為 x86 提供 DOCA 運行時。在這種情況下,gRPC 客戶端在 DPU 上運行,并與 x86 運行時建立通信通道。應用程序可以訪問 DPU 運行時組件,而無需編譯任何 Arm 代碼。
圖 1. NVIDIA DOCA 軟件堆棧
軟件定義、硬件加速的基礎架構
DOCA 簡化了 BlueField DPU 的編程和應用程序開發,并通過提供更高級別的抽象來消除障礙。通過提供運行時二進制文件和高級 API ,DOCA 框架使您能夠專注于應用程序代碼,而不是學習。
您可以選擇兩種開發路線:通過庫和服務或通過 SDK 和驅動程序。目前,DOCA 軟件棧包括 120 多個 DOCA API ,全球 2500 多名 DOCA 開發者正在使用這些 API 。它們可通過 NGC Catalog 獲得。
如果您是 DOCA 的新手,NVIDIA 提供免費的自主課程,使用DOCA 開發DPU 應用入門,它涵蓋了 DOCA 平臺的基本要點。
-
NVIDIA
+關注
關注
14文章
4991瀏覽量
103137 -
軟件
+關注
關注
69文章
4955瀏覽量
87581 -
DPU
+關注
關注
0文章
364瀏覽量
24200 -
驅動程序
+關注
關注
19文章
836瀏覽量
48061
發布評論請先 登錄
相關推薦
評論