NVIDIA DOCA 軟件框架包括了對 NVIDIA BlueField DPU (數(shù)據(jù)處理器)進(jìn)行編程所需的一切,無論開發(fā)環(huán)境如何都能提供一致的開發(fā)體驗(yàn)。NVIDIA 提供以下資源:
開發(fā)者計(jì)劃
SDK Manager 支持
工具匯總:
編譯器
基準(zhǔn)測試
參考應(yīng)用程序
使用案例
NVIDIA 通過為開發(fā)者提供 DOCA SDK 和為快速部署提供 DOCA 運(yùn)行時(shí)軟件來交付軟件堆棧。
選擇 DOCA 驅(qū)動程序還是 DOCA 庫?
DOCA 驅(qū)動程序和 DOCA 庫是關(guān)鍵組件,適用于開發(fā)人員、IT 安全和運(yùn)營團(tuán)隊(duì),以及 IT 管理員。它們被用于在 DPU 上開發(fā)和部署軟件定義、硬件加速的應(yīng)用程序。但是,有時(shí)會收到關(guān)于如何正確使用它們的問題。
為了確保沒有混淆,并確定哪種方式可能最適合您的開發(fā)需求,這篇文章將討論何時(shí)使用哪種方式。
表 1 。 DOCA 驅(qū)動程序與 DOCA 庫
表 1 比較了驅(qū)動程序和庫,并強(qiáng)調(diào)了各自的優(yōu)缺點(diǎn)。本質(zhì)上講,DOCA 驅(qū)動程序提供了更大的定制空間,而 DOCA 庫的設(shè)計(jì)旨在以更低的編碼復(fù)雜性提供最佳的每個(gè)用例性能和可擴(kuò)展性。
DOCA 庫
首先,DOCA 庫是針對特定用例優(yōu)化的高級抽象 API 。庫可以通過更短的開發(fā)時(shí)間和上市時(shí)間來實(shí)現(xiàn)優(yōu)異的性能。它們還包括各種指南和示例應(yīng)用程序,在用于開發(fā)時(shí)比 DOCA 驅(qū)動程序的學(xué)習(xí)時(shí)間更短。
NVIDIA 庫已預(yù)先加速。它們使您能夠快速構(gòu)建各種應(yīng)用程序,并顯著提高性能,因?yàn)橐厌槍χ付ㄓ美齽?chuàng)建和調(diào)整了邏輯。它們還確保了多代兼容性,這在使用 DOCA 驅(qū)動程序時(shí)是無法保證的。
這些庫旨在解決特定的用例,如防火墻、網(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ù)包檢測例程,因?yàn)椴恍枰私膺壿嫛?/p>
DOCA 庫使您能夠選擇具有內(nèi)置硬件加速功能的首選 API 。DOCA 1.3 的當(dāng)前版本包括 120 多個(gè) DOCA API :
零信任安全框架
遙測加速服務(wù)
流式服務(wù)實(shí)現(xiàn)實(shí)時(shí)可見性
這些服務(wù)可通過 NGC Catalog 獲得,并可在幾分鐘內(nèi)部署到 NVIDIA BlueField DPU 上。
這些庫的價(jià)值是通過運(yùn)行時(shí)環(huán)境、DOCA 服務(wù)和一組擴(kuò)展的文檔來實(shí)現(xiàn)的。典型的庫用戶不應(yīng)開發(fā)應(yīng)用程序,而是利用 NVIDIA 或第三方提供的現(xiàn)有應(yīng)用程序和服務(wù)。
DOCA 服務(wù)是由多個(gè)項(xiàng)目組成的容器化驅(qū)動程序和庫,可以作為服務(wù)運(yùn)行以提供特定功能。每個(gè)服務(wù)都提供不同的功能,例如 DOCA 遙測 API ,它可以在幾分鐘內(nèi)從 NGC 目錄中獲取。它提供了一種快速便捷的方式來收集用戶定義的數(shù)據(jù)并將其傳輸?shù)?DOCA 遙測服務(wù)(DTS)。
此外,為了方便用戶,API 還提供了幾個(gè)內(nèi)置輸出,包括將數(shù)據(jù)直接保存到存儲、NetFlow 、Fluent Bit Forwarding 和 Prometheus endpoint 。
這些庫中的每一個(gè)都共享對象,并且除了它們各自使用 PMD 驅(qū)動程序之外,沒有以任何方式綁定。同樣,每個(gè)都有一個(gè)公共基礎(chǔ)設(shè)施,每個(gè)都有自己的文檔和程序員指南。
DOCA 驅(qū)動程序和 DOCA SDK
雖然庫消除了低級編程,但它們可能不支持您正在尋找的所有特性和功能,因此 NVIDIA 提供了 DOCA 驅(qū)動程序。DOCA 驅(qū)動程序是基于開源的,如果您正在開發(fā)自己的解決方案或必須創(chuàng)建獨(dú)特的解決方案,則可以提供更大的靈活性。
NVIDIA 驅(qū)動程序是為開發(fā)人員設(shè)計(jì)的,通過 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 的主機(jī)上,您可以在開發(fā)者容器中執(zhí)行此操作,該容器模擬 Arm 處理器。NVIDIA 提供了詳細(xì)的文檔、示例和 API 兼容性。
DOCA SDK 是利用 DOCA 庫和驅(qū)動程序并創(chuàng)建獨(dú)特的個(gè)性化軟件,以滿足應(yīng)用程序開發(fā)需求的最有效方法。
DOCA 運(yùn)行時(shí)也可用于驗(yàn)證和測試應(yīng)用程序。
DOCA 運(yùn)行時(shí)
如果您尚未準(zhǔn)備好或無法將應(yīng)用程序移植到 Arm 體系結(jié)構(gòu),NVIDIA 將為 x86 提供 DOCA 運(yùn)行時(shí)。在這種情況下,gRPC 客戶端在 DPU 上運(yùn)行,并與 x86 運(yùn)行時(shí)建立通信通道。應(yīng)用程序可以訪問 DPU 運(yùn)行時(shí)組件,而無需編譯任何 Arm 代碼。
圖 1. NVIDIA DOCA 軟件堆棧
軟件定義、硬件加速的基礎(chǔ)架構(gòu)
DOCA 簡化了 BlueField DPU 的編程和應(yīng)用程序開發(fā),并通過提供更高級別的抽象來消除障礙。通過提供運(yùn)行時(shí)二進(jìn)制文件和高級 API ,DOCA 框架使您能夠?qū)W⒂趹?yīng)用程序代碼,而不是學(xué)習(xí)。
您可以選擇兩種開發(fā)路線:通過庫和服務(wù)或通過 SDK 和驅(qū)動程序。目前,DOCA 軟件棧包括 120 多個(gè) DOCA API ,全球 2500 多名 DOCA 開發(fā)者正在使用這些 API 。它們可通過 NGC Catalog 獲得。
如果您是 DOCA 的新手,NVIDIA 提供免費(fèi)的自主課程,使用DOCA 開發(fā)DPU 應(yīng)用入門,它涵蓋了 DOCA 平臺的基本要點(diǎn)。
-
NVIDIA
+關(guān)注
關(guān)注
14文章
4981瀏覽量
102997 -
軟件
+關(guān)注
關(guān)注
69文章
4929瀏覽量
87414 -
DPU
+關(guān)注
關(guān)注
0文章
357瀏覽量
24169 -
驅(qū)動程序
+關(guān)注
關(guān)注
19文章
835瀏覽量
48026
發(fā)布評論請先 登錄
相關(guān)推薦
評論