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

適用于SQLite的dbExpress數(shù)據(jù)庫(kù)驅(qū)動(dòng)程序
適用于MySQL的dbExpress驅(qū)動(dòng)程序:提供對(duì)MySQL的快速訪問(wèn)
適用于Oracle的ODBC驅(qū)動(dòng)程序
適用于Oracle的dbExpress驅(qū)動(dòng)程序

AT32F403A_407固件庫(kù)驅(qū)動(dòng)程序發(fā)行說(shuō)明
NVIDIA DOCA 2.9版本的亮點(diǎn)解析

Linux驅(qū)動(dòng)程序程序員指南

pcie設(shè)備驅(qū)動(dòng)程序安裝步驟
NVIDIA DOCA-OFED的主要特性
硬盤電機(jī)怎么驅(qū)動(dòng)程序?它有什么典型特征?
Linux設(shè)備驅(qū)動(dòng)程序分類有哪些
linux驅(qū)動(dòng)程序如何加載進(jìn)內(nèi)核
linux驅(qū)動(dòng)程序的編譯方法是什么
IB Verbs和NVIDIA DOCA GPUNetIO性能測(cè)試

評(píng)論