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

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

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

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

NVIDIA DOCA 2.9版本的亮點(diǎn)解析

NVIDIA DOCA-OFED的主要特性
在DVEVM上通過ddd運(yùn)行Demo

在TI開發(fā)板上啟用Android Automotive

基于DPU的容器冷啟動(dòng)加速解決方案

IB Verbs和NVIDIA DOCA GPUNetIO性能測試

評論