編者按:
NVIDIA最大的成功是把GPU變成了GPGPU,使之成為了最廣泛的異構(gòu)加速器件;而構(gòu)筑起堅固護城河的的則是龐大的CUDA生態(tài)。 2020年10月,NVIDIA DPU發(fā)布,同步發(fā)布了DOCA開發(fā)SDK及框架。是否能夠基于DOCA構(gòu)建DPU的成熟生態(tài),復(fù)制GPU和CUDA的成功,大家拭目以待。本文是DOCA SDK及框架的綜述。
1 DOCA定義
現(xiàn)代企業(yè)數(shù)據(jù)中心是軟件定義、完全可編程的數(shù)據(jù)中心,旨在跨越云、核心和邊緣環(huán)境為高度分布式的應(yīng)用工作負(fù)載提供服務(wù)。軟件定義的數(shù)據(jù)中心可提供類似云的靈活性和敏捷性,但會消耗許多CPU核資源,降低服務(wù)器和數(shù)據(jù)中心的效率。通過DPU和DOCA(Data Center Infrastructure on a Chip Architecture),可以實現(xiàn)軟件定義且硬件加速的基礎(chǔ)設(shè)施,更大限度地提高數(shù)據(jù)中心的性能和靈活性。
DPU位于數(shù)據(jù)中心的服務(wù)器節(jié)點內(nèi),DOCA是用于在BlueField DPU上開發(fā)應(yīng)用程序的軟件框架。借助DOCA,可以在BlueField DPU,從主機CPU卸載并加速基礎(chǔ)設(shè)施工作負(fù)載。 開發(fā)者基于DOCA開發(fā)運行在DPU上的各種服務(wù),讓DPU成為與業(yè)務(wù)隔離的、安全的服務(wù)域(或Enclave),用于網(wǎng)絡(luò)、安全、存儲和基礎(chǔ)設(shè)施管理。
DPU可加速所有關(guān)鍵數(shù)據(jù)中心的基礎(chǔ)設(shè)施服務(wù),還可以運行控制平面的軟件,如軟件定義網(wǎng)絡(luò)(SDN)的控制器、分布式存儲軟件,或在可編程Arm核上運行新一代防火墻代理。
2 NVIDIA Bluefield DPU
BlueField DPU包括:
一個強大的智能網(wǎng)卡,可支持高速以太網(wǎng)或InfiniBand兩種接口;
一組Arm核以及DRAM;
PCIe交換機;
通過高速Mesh網(wǎng)絡(luò)連接在一起。
嵌入式ConnectX智能網(wǎng)卡包含許多加速器(網(wǎng)絡(luò)、云、存儲、加密、流媒體、時間同步等),BlueField更是增加了面向安全、存儲虛擬化、硬件隔離和遠(yuǎn)程管理的加速器和功能。
3 DOCA的功能組件
從開發(fā)者的角度來看,DOCA可劃分為兩大領(lǐng)域:
SDK組件,幫助您構(gòu)建在DPU上運行或使用DPU的應(yīng)用程序。
DOCA運行時集,包含在DPU上運行應(yīng)用程序所需的組件。
DOCA軟件包括:
DOCA SDK提供行業(yè)標(biāo)準(zhǔn)的開放式API和框架,其中包括用于網(wǎng)絡(luò)和安全的DPDK和P4,以及用于存儲的SPDK。這些框架通過集成的NVIDIA加速包簡化了應(yīng)用卸載開發(fā)。
DOCA SDK支持一系列操作系統(tǒng)及其發(fā)行版本,并且包含驅(qū)動、庫、工具、文檔和示例應(yīng)用程序。
基于DOCA的服務(wù)以行業(yè)標(biāo)準(zhǔn)的I/O接口開放給計算節(jié)點,從而實現(xiàn)基礎(chǔ)設(shè)施虛擬化和隔離。
DOCA運行時環(huán)境包括用于在數(shù)據(jù)中心內(nèi)的數(shù)百或數(shù)千個DPU上進行預(yù)置、部署和編排容器化服務(wù)的工具。
BlueField DPU和DOCA框架允許將基礎(chǔ)設(shè)施服務(wù)轉(zhuǎn)移到DPU,從而卸載和加速這些服務(wù)。DOCA支持在應(yīng)用層和基礎(chǔ)架構(gòu)服務(wù)層進行開發(fā)。SDK包含的關(guān)鍵組件:
行業(yè)標(biāo)準(zhǔn)API:DPDK、SPDK、P4;
網(wǎng)絡(luò)加速SDK:ASAP2 SDN、模擬的VirtIO、P4、5T for 5G技術(shù);
安全加速SDK:inline加密、深度數(shù)據(jù)包檢測;
存儲加速SDK:存儲Emulation和虛擬化、加密和壓縮;
RDMA加速SDK:UCX、RDMA Verbs、GPUDirect;
管理SDK:部署、預(yù)配置、服務(wù)編排;
用戶空間接口和內(nèi)核空間接口。
運行時包含二進制庫、運行時二進制文件、編譯工具、安裝工具、基準(zhǔn)測試程序以及各種DOCA服務(wù)代理。借助這些,您可以使用不同的DPU API和功能,設(shè)置DPU卡、安裝合適的操作系統(tǒng),以及在DPU上運行您的軟件。運行時還包括各種管理工具,用于配置和支撐服務(wù)器中和網(wǎng)絡(luò)中的DPU卡,同時支持編排容器化操作與各種加速服務(wù)。
DOCA 1.0包括了使用DPI的加速負(fù)載均衡器參考應(yīng)用程序,以及使用DPI和regex模型匹配的下一代防火墻代理參考應(yīng)用程序。他們都充分利用了DOCA庫和DPU上的加速功能的優(yōu)勢。它們包含源文件,無需在DPU上進行編程。但是,它們可以提供DPU API和庫的使用示例,從而簡化應(yīng)用程序的開發(fā)和集成。未來的DOCA版本中可能會添加更多的參考應(yīng)用程序。 DPU管理工具和其他功能:
SDK管理器。幫助在運行DPU的機器上安裝和更新BlueField SDK。它會在主機上安裝 DOCA SDK和運行時,并在主機上安裝用于更新BlueField的操作系統(tǒng)和DOCA的開發(fā)容器。
配置工具。旨在簡化管理和自動化部署數(shù)據(jù)中心中的大量DPU卡,可以通過腳本和管理工具來實現(xiàn)。
遙測。可以在DPU上選擇性地捕獲和共享網(wǎng)絡(luò)和服務(wù)器的關(guān)鍵遙測數(shù)據(jù),然后分享和收集這些數(shù)據(jù)給日志管理工具、數(shù)據(jù)分析工具或網(wǎng)絡(luò)安全工具等。
以下功能目前可以從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運行時包含的SNAP功能,可支持通過SPDK庫訪問上層開發(fā)者SDK,更多的SNAP功能將會逐漸添加到DOCA SDK。
BlueField操作系統(tǒng)包含引導(dǎo)加載器、操作系統(tǒng)內(nèi)核、必要的網(wǎng)卡固件、NVIDIA驅(qū)動、示例文件系統(tǒng)和工具鏈。NVIDIA BlueField DPU預(yù)裝商業(yè)級Linux發(fā)行版Ubuntu Server 20.04,并且持續(xù)提供操作系統(tǒng)和安全更新。作為一個獨立的軟件包,DOCA可以在多種業(yè)界領(lǐng)先的操作系統(tǒng)上使用,而不與某個特定的Arm或x86操作系統(tǒng)進行捆綁。
4 DOCA的價值和作用
DOCA的關(guān)鍵作用
DOCA利用行業(yè)標(biāo)準(zhǔn)API,基于NVIDIA DPU快速創(chuàng)建應(yīng)用程序和服務(wù);
DOCA和BlueField DPU相結(jié)合,使得開發(fā)者能夠開發(fā)具備突破性的網(wǎng)絡(luò)、安全和存儲性能的應(yīng)用程序。
BlueField將基礎(chǔ)設(shè)施服務(wù)域與工作負(fù)載域隔離開來,顯著提高了應(yīng)用程序和服務(wù)器的性能、安全性和效率;
同時,DOCA為開發(fā)者提供了實現(xiàn)優(yōu)化、安全、加速數(shù)據(jù)中心所需的各種工具。
DOCA的特點:
滿足未來需求。DOCA可提供多代產(chǎn)品支持,給予開發(fā)者充分信心,確保今天開發(fā)的應(yīng)用程序能夠在未來各代的BlueField上持續(xù)運行,并持續(xù)獲得性能加持。
卸載、加速、隔離基礎(chǔ)設(shè)施。網(wǎng)絡(luò)、存儲和安全服務(wù)可通過DPU進行卸載、加速和隔離,同時以線速性能安全地把數(shù)據(jù)傳輸給上層工作負(fù)載。
開放式生態(tài)系統(tǒng)。DOCA提供軟件應(yīng)用程序框架,加速生態(tài)系統(tǒng)開發(fā)。
4.1 加快基礎(chǔ)設(shè)施服務(wù)走向市場的時間
DOCA包括了API、驅(qū)動、庫、示例代碼、文檔和預(yù)設(shè)的容器等,可激活BlueField-2 DPU的加速、安全和虛擬化功能。DOCA提供一套統(tǒng)一且可靠的工具,用于開發(fā)基于DPU運行的關(guān)鍵數(shù)據(jù)中心服務(wù),以處理多種類型的數(shù)據(jù)處理。其中包括:
定向網(wǎng)絡(luò)流量;
存儲的加速、虛擬化和壓縮;
數(shù)據(jù)加密和解密;
安全威脅掃描;
與遠(yuǎn)程管理工具的集成;
在Arm核上運行控制平面應(yīng)用。
您可以對這些卸載和加速器進行編程,實現(xiàn)單獨或一起使用,并可與基于GPU的NVIDIA AI平臺進行集成。 DOCA助力應(yīng)用程序開發(fā)者、設(shè)備供應(yīng)商、研究人員和NVIDIA軟件合作伙伴通過SDK對所有這些DPU功能進行編程。許多功能的接口在底層的API和上層編程語言中均會提供。
這些基于DPU運行的服務(wù)不僅僅是軟件定義、硬件加速,而且支持AI、易于編程。 未來幾代BlueField DPU將借助新的增強型加速器提供更強的計算力。DOCA可通過擴展API的方式來支持新的功能,確保了與DPU的前向兼容。NVIDIA致力于通過架構(gòu)流程技術(shù)和軟件創(chuàng)新來提升性能。我們持續(xù)提升云、核心和邊緣環(huán)境以及應(yīng)用工作負(fù)載的性能和功能。
4.2 簡化BlueField DPU上的服務(wù)創(chuàng)建流程
4.2.1 網(wǎng)絡(luò)
DPU可加速SDN和NFV:開放虛擬交換(OVS)、Overlay網(wǎng)絡(luò)(例如VXLAN)、網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)、自動負(fù)載平衡、細(xì)粒度流量管理和內(nèi)容分發(fā)網(wǎng)絡(luò)。 DOCA支持通過標(biāo)準(zhǔn)DPDK API將服務(wù)應(yīng)用和DPU加速引擎關(guān)聯(lián)起來,例如rte_flow庫可以支持基于流的不同操作,包括Overlay封包、包頭重寫、Hairpin,以及對虛擬網(wǎng)絡(luò)功能的測量。
為提升性能和主機CPU效率,DOCA還包含了原生OVS-kernel和OVS-DPDK應(yīng)用程序,通過BlueField DPU的硬件加速交換和數(shù)據(jù)包處理(ASAP2)技術(shù)提供無縫加速。
DPU硬件對于主機網(wǎng)絡(luò)的加速,由DOCA編程平臺上運行的OVS應(yīng)用來定義,數(shù)據(jù)中心SDN控制器來編排所有網(wǎng)絡(luò),并通過DPU的帶外管理端口進行連接。 P4是另一種語言,可以對BlueField DPU中靈活、可編程的數(shù)據(jù)路徑加速器進行編程。
DOCA 支持P4語言,可支持未來基于P4開發(fā)的VNF業(yè)務(wù)。這個功能被集成到了已經(jīng)擁有豐富的VNF產(chǎn)品生態(tài)系統(tǒng)的其它API中。此架構(gòu)允許同時執(zhí)行面向內(nèi)核、RoCE、DPDK、SPDK、P4 和P4.runtime接口編寫的程序,這些可無縫共存并充分利用DPU數(shù)據(jù)路徑加速。
4.2.2 存儲
對于存儲,DPU支持加速軟件定義的彈性存儲、NVMe over Fabrics (NVMe-oF)、RoCE、靜態(tài)數(shù)據(jù)加密、數(shù)據(jù)刪除、分布式糾錯和數(shù)據(jù)壓縮。BlueField DPU NVMe SNAP技術(shù)可提供彈性塊存儲功能,并向主機提供遠(yuǎn)程塊存儲,如同它是本地NVMe塊存儲或VirtIO-blk塊設(shè)備一樣具有低延遲、高吞吐量和高IOPS等特性。
DOCA完全支持SPDK開源框架,可助力您創(chuàng)建自己的存儲解決方案。通過模擬對PCIe NVMe磁盤的的訪問,利用BlueField DPU的多項加速功能來實現(xiàn)各種自定義的邏輯,主機應(yīng)用可以透明地管理模擬出來的NVMe存儲。其中包括加密、ECC分布式糾錯、壓縮、重復(fù)數(shù)據(jù)刪除和惡意軟件掃描。如果您要通過DOCA進行編程,現(xiàn)在無需對個別引擎進行顯式編程,即可輕松調(diào)用用于數(shù)據(jù)存儲的功能。
4.2.3 安全性
DPU還可以卸載、加速和隔離所有關(guān)鍵數(shù)據(jù)中心安全服務(wù)。其中包括支持新一代防火墻、微分段、使用透明IPSec和TLS進行動態(tài)數(shù)據(jù)在線加密以及入侵保護。DPU擁有一組專用的安全引擎,包含了構(gòu)建安全解決方案的所有模塊。 DOCA包含一組用于開發(fā)安全應(yīng)用程序的標(biāo)準(zhǔn)化API。
所有安全服務(wù)均始于數(shù)據(jù)包采集、解密、連接狀態(tài)的有狀態(tài)跟蹤,一直到7層深度數(shù)據(jù)包檢查。這樣會將應(yīng)用程序流量分類為受信任或惡意。此外,它最終還會將定義的安全策略轉(zhuǎn)換為一系列操作,例如數(shù)據(jù)包允許、丟棄、重寫或重定向。編程通過標(biāo)準(zhǔn)DPDK API完成,如下所示:
rte_security,用于加密和解密
rte_sft庫,用于連接感知
rte_regex庫,用于正則表達(dá)式模式匹配
rte_dpi庫,用于對所有流水線加速函數(shù)進行深度包檢查
DOCA還支持基于IPSec、TLS和存儲AES-XTS的原生內(nèi)核加密,由DPU實現(xiàn)在線加速,可以輕松用于基于OpenSSL或OVS-IPSec的應(yīng)用。這支持DPU在不通知主機的情況下透明地對所有流量進行加密和解密。其中包括DPU在安全Enclave內(nèi)執(zhí)行密鑰管理。
通過RDMA庫對主機進行快速內(nèi)存訪問,DOCA可讓您創(chuàng)建嚴(yán)格的主機自檢方案。借助自動惡意軟件掃描,您可以進一步了解從DPU到主機的一舉一動。如果發(fā)現(xiàn)惡意活動,您可以通過對DPU的硬件加速引擎的編程,達(dá)到以線速來執(zhí)行策略。
4.2.4 基礎(chǔ)設(shè)施管理
傳統(tǒng)管理會在每臺服務(wù)器上運行代理。但是,運行這些代理會消耗本可用于業(yè)務(wù)應(yīng)用的CPU周期。代理通常無法監(jiān)控服務(wù)器上VM之間以及容器之間的網(wǎng)絡(luò)流量。如果代理執(zhí)行數(shù)據(jù)包過濾或流量遙測等功能,則會消耗更多CPU周期。如果服務(wù)器發(fā)生嚴(yán)重故障,則基于VM 或容器的管理代理不太可能報告狀態(tài)或重啟服務(wù)器。
DOCA允許業(yè)務(wù)隔離的、基于DPU的代理執(zhí)行帶內(nèi)或帶外管理,而不會給服務(wù)器CPU增加負(fù)擔(dān)。如果服務(wù)器需要重置,或者甚至租戶或業(yè)務(wù)應(yīng)用需要一臺無代理的裸金屬服務(wù)器,通過DOCA編程的DPU仍可發(fā)送遙測數(shù)據(jù)、執(zhí)行遠(yuǎn)程重置或允許安全啟動服務(wù)器,這些操作均無需在服務(wù)器CPU上運行代理。
4.3 使用DOCA的益處
BlueField的許多功能和加速器均可通過特定API、開源SDK或現(xiàn)有驅(qū)動進行訪問,使用DOCA的主要益處是簡化使用DPU的基礎(chǔ)設(shè)施應(yīng)用程序和功能的開發(fā)和部署流程。這樣可以加快應(yīng)用和其它BlueField的功能進入市場的速度:
統(tǒng)一訪問所有DPU功能,不必學(xué)習(xí)和使用多種不同的工具。
在DPU的底層API上提供一個抽象層給上層的庫,可以更快速、更輕松地進行開發(fā),實現(xiàn)和上層業(yè)務(wù)的集成;也可以直接和底層接口交互,從而達(dá)到更精細(xì)的控制。
向前/向后兼容性。使用DOCA進行開發(fā)意味著應(yīng)用可以在未來版本的BlueField DPU上無縫運行,且得到了更高的性能和擴展性。
基于容器化服務(wù)的DPU調(diào)配和部署。DOCA包含用于簡化DPU設(shè)置、配置和服務(wù)編排的工具。
5 BlueField DPU和DOCA密切協(xié)作
通過BlueField DPU和DOCA,可以整合通常無法一起部署的數(shù)據(jù)中心基礎(chǔ)設(shè)施服務(wù)。例如,由CPU或獨立Look-aside加密卡對動態(tài)數(shù)據(jù)進行加密時,無法和RoCE、壓縮、哈希或 Overlay網(wǎng)絡(luò)一起工作。事實上,執(zhí)行此類加密會禁用以上操作及許多其它網(wǎng)絡(luò)卸載功能。
這是因為,如果先對數(shù)據(jù)進行加密的話,意味著網(wǎng)絡(luò)設(shè)備不再能識別數(shù)據(jù)包的內(nèi)容,進而無法執(zhí)行巧妙的數(shù)據(jù)包重路由、過濾、擁塞管理等操作。但是,使用BlueField DPU和DOCA, 您可以通過編程將RoCE、VXLAN、哈希計算、壓縮,以及許多其它卸載功能與加密功能組合在一起,以及它們之間互相組合。
DOCA將所有功能合并到一個SDK,使用基于通用開放API的加速庫來即刻釋放DPU的力量。您還可以使用DOCA,透明地將關(guān)鍵控制平面應(yīng)用或代理從X86域移植到DPU的Arm 核,從而提高服務(wù)器性能、效率,并實現(xiàn)工作負(fù)載和安全的隔離。
6 對數(shù)據(jù)處理加速和AI進行編程
重要的是,DOCA更進一步地支持先進的GPU加速的AI工作負(fù)載,被完全整合到了大型NVIDIA NGC加速計算軟件平臺,成為了其中的一個測試項。 對于傳統(tǒng)的企業(yè)應(yīng)用,DOCA可加速包含BlueField DPU的系統(tǒng)中的數(shù)據(jù)中心基礎(chǔ)設(shè)施服務(wù)。
但是,對于包含DPU和GPU的系統(tǒng),加速AI和數(shù)據(jù)分析工作負(fù)載具有巨大優(yōu)勢。DOCA 已集成到NGC認(rèn)證計劃。它可以充分利用大量的開發(fā)、集成和測試資源,支持NVIDIA的全部AI應(yīng)用程序框架(NVIDIA Riva、NVIDIA Merlin、NVIDIA Metropolis、NVIDIA Clara、NVIDIA Aerial等)。
DOCA與NGC平臺集成,還釋放了各類第三方軟件基礎(chǔ)設(shè)施與應(yīng)用的強大功能。 可以將DOCA與CUDA結(jié)合使用,通過GPU加速計算并通過DPU加速數(shù)據(jù)中心服務(wù)。還可以使用DOCA啟用GPUDirect,加速整個網(wǎng)絡(luò)中GPU之間的通信。
7 DOCA編程選項
當(dāng)對DPU進行編程時,可以直接訪問驅(qū)動。這通常需要底層編程和詳細(xì)的驅(qū)動知識。在大多數(shù)情況下,對DOCA庫進行編程會更加輕松,這些庫為驅(qū)動提供了上層的抽象層。它的優(yōu)勢就是已經(jīng)針對每個用例進行了調(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)匹配引擎進行加速。
加速負(fù)載均衡器 | NGFW下一代防火墻代理 | 彈性存儲 | |
DOCA參考應(yīng)用 | 負(fù)載均衡器 | 防火墻代理 | <2021年6月推出> |
DOCA庫 | DOCA Flow和DPI | DOCA Flow和DPI | SPDK |
底層API/Lib | FTE_FLOW、DPDK SFT、DPDK REGEX、DPDK | RTE_FLOW、DPDK RegEx | SPDK、BlueField SNAP |
DPU硬件功能 | eSwitch、連接跟蹤、RegEx | eSwitch、連接跟蹤、RegEx | RDMA、BlueField SNAP、PCIe交換機 |
表1 三個例子來解釋DOCA是如何運行在底層API/Lib和DPU上,以及如何來訪問底層API/Lib和DPU件功能的
8 DOCA 1.1更新
DOCA 1.1版本建立在DOCA 1.0的強勁勢頭之上,并包含以下更新:
DOCA FLOW-LIB,用于網(wǎng)關(guān)性能的加速,以實現(xiàn)不同網(wǎng)絡(luò)間互操作性;
DOCA FLOW示例應(yīng)用,用于URL和DNS過濾與轉(zhuǎn)發(fā)功能;
加速有狀態(tài)流表(SFT),用于連接追蹤功能;
加速正則表達(dá)式(RegEx),用于與DPI Lib進行模式匹配;
引入x86平臺上的DOCA Runtime,用于加速在主機x86處理器上運行的應(yīng)用,不必所有的業(yè)務(wù)都卸載到DPU。
審核編輯:劉清
-
控制器
+關(guān)注
關(guān)注
112文章
16444瀏覽量
179068 -
DRAM芯片
+關(guān)注
關(guān)注
1文章
84瀏覽量
18041 -
DPU
+關(guān)注
關(guān)注
0文章
368瀏覽量
24231 -
sdn
+關(guān)注
關(guān)注
3文章
254瀏覽量
44831
原文標(biāo)題:DOCA綜合介紹:讓NVIDIA DPU更加強大
文章出處:【微信號:阿寶1990,微信公眾號:阿寶1990】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論