DOCA 是用于在 BlueField DPU 上開發(fā)應(yīng)用程序的軟件框架。借助 DOCA,您可以從主機(jī) CPU 中卸載基礎(chǔ)設(shè)施工作負(fù)載,并通過 BlueField DPU 加速這些工作負(fù)載。這樣可以實現(xiàn)軟件定義且硬件加速的基礎(chǔ)設(shè)施,更大限度地提高數(shù)據(jù)中心的性能和靈活性。
DOCA 現(xiàn)已推出!
NVIDIA 于 2020 年 10 月首次推出 DOCA。NVIDIA BlueField-2 DPU 現(xiàn)已正式推出,DOCA 也已進(jìn)入早期提供階段,這樣一來,您便可以輕松開發(fā)和增強(qiáng)您的方案,利用 BlueField 的功能卸載、加速和隔離基礎(chǔ)設(shè)施工作負(fù)載(包括網(wǎng)絡(luò)、安全、存儲和管理)。在本文中,我們將詳細(xì)討論 DOCA 包含什么,以及開發(fā)者和 ISV 如何借此創(chuàng)建基于 DPU 的解決方案。
首先,簡要概述BlueField DPU的含義和功能。它包含了一個強(qiáng)大的智能網(wǎng)卡,可支持高速以太網(wǎng)或 InfiniBand 兩種接口、一組 Arm 核、DRAM 和 PCIe 交換機(jī),通過高速Mesh網(wǎng)絡(luò)連接在一起。嵌入式 ConnectX 智能網(wǎng)卡包含許多加速器(網(wǎng)絡(luò)、云、存儲、加密、流媒體、時間同步等), BlueField 更是增加了面向安全、存儲虛擬化、硬件隔離和遠(yuǎn)程管理的加速器和功能。
圖 1.BlueField DPU 和 DOCA 框架允許將基礎(chǔ)設(shè)施服務(wù)轉(zhuǎn)移到 DPU,從而卸載和加速這些服務(wù)。DOCA 支持在應(yīng)用層和基礎(chǔ)架構(gòu)服務(wù)層進(jìn)行開發(fā)
使用 DOCA 的益處
BlueField 的許多功能和加速器均可通過特定 API、開源 SDK 或現(xiàn)有驅(qū)動進(jìn)行訪問,因此您可能會問為何應(yīng)使用 DOCA。使用 DOCA 的主要益處是簡化使用 DPU 的基礎(chǔ)設(shè)施應(yīng)用程序和功能的開發(fā)和部署流程。這樣可以加快應(yīng)用和其它BlueField的功能進(jìn)入市場的速度:
統(tǒng)一訪問所有 DPU 功能 – 讓您不必學(xué)習(xí)和使用多種不同的工具。
在 DPU 的底層 API上提供一個抽象層給上層的庫, – 您可以更快速、更輕松地進(jìn)行開發(fā),實現(xiàn)和上層業(yè)務(wù)的集成,并經(jīng)優(yōu)化而提供出色的性能;或者和底層接口合作達(dá)到更精細(xì)的控制。
向前/向后兼容性 – 使用 DOCA 進(jìn)行開發(fā)意味著您的應(yīng)用可以在未來版本的 BlueField DPU 上無縫運行,且得到了更高的性能和可擴(kuò)展性。
基于容器化服務(wù)的 DPU 調(diào)配和部署 – DOCA 包含用于簡化 DPU 設(shè)置、配置和服務(wù)編排的工具。
開發(fā)者的 DOCA 1.0 使用歷程
DOCA 包含 SDK 軟件開發(fā)套件和 DPU 運行時平臺。SDK 包含 API、開發(fā)庫、開發(fā)者工具和參考應(yīng)用代碼,其運行時包含服務(wù)、參考應(yīng)用程序可執(zhí)行文件和運行時工具。驅(qū)動支持 DOCA 庫,DOCA庫已經(jīng)支持 DOCA 1.0包含的參考應(yīng)用。此外,還有 DOCA 服務(wù),如發(fā)送經(jīng)過濾的遙測數(shù)據(jù)、DPU 和 SDK 管理工具,以及數(shù)據(jù)平面(在此版本中通過 DPDK 加速)或控制平面上軟件定義網(wǎng)絡(luò) (SDN) 的編程接口。
選擇您想在在 DPU 上運行的應(yīng)用或與 DPU 集成的應(yīng)用,開啟您的 DOCA 使用歷程。然后,定義您的應(yīng)用應(yīng)該在主機(jī) CPU運行、或是在DPU 上運行,還是需要運行在兩者之上。主機(jī)上運行的應(yīng)用程序必須面向主機(jī) CPU(通常為 X86)進(jìn)行編譯,而 DPU 上運行的應(yīng)用程序必須面向 Arm 進(jìn)行編譯。無論采用哪種方式,應(yīng)用程序都可以通過 DOCA 訪問 DPU 的卸載和加速引擎,您可以選擇用于開發(fā)的 DOCA 應(yīng)用示例、庫和 API。如果主應(yīng)用程序仍然需要運行在主機(jī) CPU 上,您可以在 DPU 的 Arm 核上創(chuàng)建一個小型代理來激活 BlueField 的 硬件卸載功能,而無需對現(xiàn)有應(yīng)用程序進(jìn)行大的修改。
圖 2.開發(fā)者的 DOCA 使用歷程 – 從開發(fā)到部署。
DOCA 編程選項
當(dāng)您對 DPU 進(jìn)行編程時,在許多情況下,可以直接訪問驅(qū)動。這通常需要底層編程和詳細(xì)的驅(qū)動知識。在大多數(shù)情況下,對 DOCA 庫進(jìn)行編程會更加輕松,這些庫為驅(qū)動提供了上層的抽象層。它的優(yōu)勢就是已經(jīng)針對每個用例進(jìn)行了調(diào)優(yōu),可獲得更出色的加速性能。參考應(yīng)用提供了實際工作代碼以及 DOCA 庫的使用示例。在某些情況下,可以使用這些參考應(yīng)用作為基礎(chǔ), 然后通過修改它們來滿足運行在DPU上的不同應(yīng)用和方案。
例如您想構(gòu)建一個可加速的負(fù)載均衡器,或者集成一個分布式防火墻的代理到DPU,您就可以選擇DOCA中關(guān)于深度數(shù)據(jù)包檢測 (DPI)庫的相關(guān)參考應(yīng)用。這些庫又運行在 DPDK 庫上,利用 DPU 內(nèi)的有狀態(tài)連接跟蹤和正則表達(dá)式 (regex) 匹配引擎進(jìn)行加速。
表 1.三個例子來解釋 DOCA 是如何運行在底層 API/Lib和DPU上,以及如何來訪問底層API/Lib和DPU件功能的。
在大多數(shù)情況下,您可以對底層 API/Lib進(jìn)行編程,而不是對DOCA 庫進(jìn)行編程, 但是如果可以對DOCA 庫直接進(jìn)行編的話, 其實會更簡單,甚至還可以修改 DOCA 參考應(yīng)用程序。對另一些 DOCA 庫,如SPDK等,盡管目前尚未提供 DOCA 參考應(yīng)用程序,但您還是使用 DOCA 1.0的庫。關(guān)于存儲的相關(guān)參考應(yīng)用程序稍后將被添加到 DOCA中。關(guān)于時間同步或 IPSec 加密功能等這些應(yīng)用,它們的API 和功能實現(xiàn)已經(jīng)可以在最新的 BlueField 操作系統(tǒng)獲得。功能實現(xiàn)將在未來版本的 DOCA 庫中提供。
從兩方面來看DOCA 工具
從開發(fā)者的角度來看,DOCA 可劃分為兩大領(lǐng)域:
SDK 組件,幫助您構(gòu)建在 DPU 上運行或使用 DPU 的應(yīng)用程序。
DOCA 運行時集,包含在 DPU 上運行應(yīng)用程序所需的組件。
其中的SDK 又包含開發(fā)庫、驅(qū)動和工具包,以及參考應(yīng)用相關(guān)的文檔和參考代碼源。
運行時包含二進(jìn)制庫、運行時二進(jìn)制文件、編譯工具、安裝工具、基準(zhǔn)測試程序以及各種 DOCA 服務(wù)代理。借助這些,您可以使用不同的 DPU API 和功能,設(shè)置 DPU 卡、安裝合適的操作系統(tǒng),以及在 DPU 上運行您的軟件。運行時還包括各種管理工具,用于配置和支撐服務(wù)器中和網(wǎng)絡(luò)中的 DPU卡,同時支持編排容器化操作與各種加速服務(wù)。
DOCA 中包含的參考應(yīng)用程序
DOCA 1.0 包括了使用DPI 的加速負(fù)載均衡器參考應(yīng)用程序,以及使用 DPI 和 regex 模型匹配的下一代防火墻代理參考應(yīng)用程序。他們都充分利用了 DOCA庫和DPU 上的加速功能的優(yōu)勢。它們包含源文件,無需在 DPU 上進(jìn)行編程。但是,它們可以提供 DPU API 和庫的使用示例,從而簡化應(yīng)用程序的開發(fā)和集成。未來的 DOCA 版本中可能會添加更多的參考應(yīng)用程序。
DPU 管理工具和其他功能
SDK 管理器 – 幫助您在運行 DPU 的機(jī)器上安裝和更新 BlueField SDK。它會在主機(jī)上安裝 DOCA SDK 和運行時,并在主機(jī)上安裝用于更新 BlueField 的操作系統(tǒng)和 DOCA 的開發(fā)容器。
配置工具 – 旨在簡化管理和自動化部署數(shù)據(jù)中心中的大量 DPU 卡,可以通過腳本和管理工具來實現(xiàn)。DOCA 1.0 中目前不包含這些工具,但很快會添加到 DOCA中。
遙測 – 可以在DPU上選擇性地捕獲和共享網(wǎng)絡(luò)和服務(wù)器的關(guān)鍵遙測數(shù)據(jù),然后分享和收集這些數(shù)據(jù)給日志管理工具、數(shù)據(jù)分析工具或網(wǎng)絡(luò)安全工具等。
有一些 BlueField DPU 功能在DOCA 1.0 SDK 中不支持,但是 DOCA 運行時對此提供了支持。以下功能目前可以從 BlueField DPU 軟件包或 Mellanox OFED 庫中獲得,并將被添加到未來版本的 DOCA SDK中:
網(wǎng)絡(luò)流量加密(使用 IPSec 或 TLS)
面向時間同步數(shù)據(jù)中心的超級準(zhǔn)確的精度時間協(xié)議 (PTP)
關(guān)于 NVIDIA GPUDirect Storage (GDS) 的支持
等等……
同樣,通過 DPU 將遠(yuǎn)端網(wǎng)絡(luò)存儲虛擬為本地 NVMe SSD 或 virtio-blk(虛擬IO-塊存儲)設(shè)備的BlueField SNAP 技術(shù)。DOCA 運行時現(xiàn)在包含的 SNAP 功能,可支持通過 SPDK 庫訪問上層開發(fā)者 SDK,更多的SNAP功能將會逐漸添加到 DOCA SDK。
DOCA 愿景
DOCA 的路線圖包括了支持使用 DOCA 訪問 BlueField DPU 的幾乎所有功能。圖 3 是 DOCA 軟件棧的計劃,包括了對于運行在各種 DOCA 服務(wù)、庫和驅(qū)動上的不同類型的上層應(yīng)用。
圖 3.隨著DOCA 不斷發(fā)展,將為幾乎所有的 BlueField DPU 功能提供全面支持。
NVIDIA 希望您能輕松使用 DPU 的各種功能,并簡化以下流程:在 DPU 上創(chuàng)建新應(yīng)用程序,或者將現(xiàn)有應(yīng)用程序與 BlueField DPU 集成。隨著 新DOCA系列版本的發(fā)布, 將不斷擴(kuò)展 DOCA 中的驅(qū)動、庫、服務(wù)和應(yīng)用示例等。您將能夠使用 NVIDIA DPU 創(chuàng)建更先進(jìn)、更高效的解決方案,加速基礎(chǔ)設(shè)施服務(wù)。使用 DOCA 提高數(shù)據(jù)中心的性能、效率、安全性和可管理性。
關(guān)于作者
John Kim 是 NVIDIA 網(wǎng)絡(luò)事業(yè)部的存儲市場總監(jiān),致力于幫助客戶和供應(yīng)商從高性能網(wǎng)絡(luò)連接、智能網(wǎng)卡卸載和遠(yuǎn)程直接數(shù)據(jù)存取 (RDMA) 中獲益,尤其是在存儲、大數(shù)據(jù)和人工智能領(lǐng)域。John 是非常活躍的博主、會議演講嘉賓和網(wǎng)絡(luò)直播節(jié)目主持人,也是存儲網(wǎng)絡(luò)行業(yè)協(xié)會網(wǎng)絡(luò)存儲論壇 (SNIA NSF) 的主席。John的高科技生涯從 IT 支持人員和網(wǎng)絡(luò)管理員開始,先后在NetApp 和 EMC等企業(yè)級軟件公司以及存儲供應(yīng)商從事解決方案市場、產(chǎn)品管理和生態(tài)聯(lián)盟工作。他于 2013 年加入 Mellanox,之后于 2020 年加入 NVIDIA。
Ariel Kit 是 NVIDIA 網(wǎng)絡(luò)產(chǎn)品營銷總監(jiān)。 Ariel 負(fù)責(zé)管理 NVIDIA BlueField DPU 軟件組合和網(wǎng)絡(luò)安全的戰(zhàn)略和交付。 Ariel 在網(wǎng)絡(luò)安全和嵌入式片上系統(tǒng)領(lǐng)域擁有 6 年以上的產(chǎn)品開發(fā)經(jīng)驗,并擁有 12 年以上的研發(fā)管理經(jīng)驗。他有學(xué)士學(xué)位。通信系統(tǒng)工程和工商管理碩士。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5149文章
19655瀏覽量
317312 -
NVIDIA
+關(guān)注
關(guān)注
14文章
5304瀏覽量
106329
發(fā)布評論請先 登錄
NVIDIA DOCA 3.0版本的亮點解析

第三屆NVIDIA DPU黑客松開啟報名
DPU232—高度集成USB到UART橋接控制器 國產(chǎn)替代方案
利用NVIDIA DPF引領(lǐng)DPU加速云計算的未來

加速電機(jī)控制器開發(fā):EasyGo硬件在環(huán)測試平臺一站式解決方案

加速電機(jī)控制器開發(fā):EasyGo硬件在環(huán)測試平臺一站式解決方案
在NVIDIA BlueField-3 DPU上運行WEKA客戶端的實際優(yōu)勢

NVIDIA DOCA 2.9版本的亮點解析

NVIDIA DOCA-OFED的主要特性
在TI開發(fā)板上啟用Android Automotive

基于DPU的容器冷啟動加速解決方案

IB Verbs和NVIDIA DOCA GPUNetIO性能測試

評論