DOCA 1.3上線 讓DPU在數(shù)據(jù)時(shí)代找到“芯”價(jià)值
隨著數(shù)據(jù)中心成為新的計(jì)算單元,數(shù)據(jù)處理器有了更多的用武之地。英偉達(dá)的BlueField系列DPU由DOCA(Data-Center-Infrastructure-On-A-Chip Architecture)軟件框架提供支持,可實(shí)現(xiàn)更好的網(wǎng)絡(luò)、存儲(chǔ)和安全性能。作為一款為BlueField DPU量身打造的軟件開(kāi)發(fā)框架,DOCA旨在為開(kāi)發(fā)者提供全面、開(kāi)放的開(kāi)發(fā)套件,支持其BlueField DPU上進(jìn)行簡(jiǎn)便、靈活的軟件開(kāi)發(fā),快速創(chuàng)建基于BlueField DPU加速的高性能應(yīng)用程序和服務(wù)。
本文引用地址:http://www.ex-cimer.com/article/202207/436217.htm“DOCA是依托于面向未來(lái)的、API驅(qū)動(dòng)的思維模式來(lái)構(gòu)建的,可以讓BlueField DPU硬件加速器變得更加易用,實(shí)現(xiàn)非凡的數(shù)據(jù)中心的性能、效率和安全性,解鎖數(shù)據(jù)中心創(chuàng)新功能,并且能夠更好地兼容下一代BlueField DPU,提供持續(xù)支持,加快應(yīng)用程序和服務(wù)的上市時(shí)間,釋放DPU的潛力?!盢VIDIA網(wǎng)絡(luò)技術(shù)專家崔巖說(shuō),“NVIDIA在發(fā)展BlueField DPU的同時(shí),也在積極發(fā)展DOCA生態(tài),這和我們以前發(fā)展GPU的同時(shí)在發(fā)展CUDA生態(tài)是異曲同工之妙?!?/p>
今年5月,NVIDIA上線了DOCA 1.3版本,提供了121個(gè)新的API開(kāi)發(fā)接口,加入了更多的增強(qiáng)和新功能,包括優(yōu)化數(shù)據(jù)流插入的DOCA Flow庫(kù)、通信通道庫(kù)、正則表達(dá)式庫(kù)、App Shield SDK、基于OVN的IPSec加密的完全卸載,以及一些DOCA服務(wù),例如HBN在主機(jī)上實(shí)現(xiàn)了三層路由功能。借助DOCA 1.3,開(kāi)發(fā)者不僅可以在本地BlueField DPU上或X86的容器中搭建開(kāi)發(fā)環(huán)境,還能獲得一致性的開(kāi)發(fā)體驗(yàn),可以統(tǒng)一訪問(wèn)BlueField DPU上的各種硬件資源,簡(jiǎn)化網(wǎng)絡(luò)、存儲(chǔ)、安全和基礎(chǔ)設(shè)施管理服務(wù)相關(guān)的開(kāi)發(fā)。同時(shí),NVIDIA還為開(kāi)發(fā)者提供了基于底層API抽象和封裝的高級(jí)API庫(kù),大幅減少開(kāi)發(fā)時(shí)間,可以更快的獲得收益,另外通過(guò)容器化的DOCA服務(wù),可以在BlueField DPU上直接部署應(yīng)用。
DOCA軟件棧
DOCA 1.3中的正則表達(dá)式庫(kù)被稱為Regular Expression(RegEx),是多腳本語(yǔ)言使用的標(biāo)準(zhǔn)模式匹配工具,可以創(chuàng)建與文本模式匹配的過(guò)濾器,而不僅僅是單個(gè)單詞或短語(yǔ)的匹配。正則表達(dá)式專為高吞吐量、低延時(shí)、深度包檢測(cè)的應(yīng)用程序設(shè)計(jì),這些應(yīng)用程序需要對(duì)數(shù)據(jù)包進(jìn)行負(fù)載檢測(cè)和異常監(jiān)測(cè),通過(guò)正則表達(dá)式模式匹配和字符串來(lái)實(shí)現(xiàn)相應(yīng)的應(yīng)用功能。正則表達(dá)式還可以實(shí)現(xiàn)安全和遙測(cè)功能,可以在DOCA 1.3上提供安全方面的應(yīng)用,例如應(yīng)用識(shí)別、入侵防御系統(tǒng)、URL過(guò)濾、文件掃描、深度數(shù)據(jù)包檢測(cè)、App Shield內(nèi)存掃描等,為安全軟件開(kāi)發(fā)提供底層的API支持。
借助基于OVN的數(shù)據(jù)路徑加密功能,不同主機(jī)之間可以利用IPsec的方式創(chuàng)建不同的隧道進(jìn)行數(shù)據(jù)加密,保證數(shù)據(jù)在各個(gè)主機(jī)之間傳遞時(shí)是加密的狀態(tài)。當(dāng)數(shù)據(jù)到達(dá)某個(gè)主機(jī)時(shí),BlueField DPU會(huì)將其解密成明文,把這些明文數(shù)據(jù)再傳遞給主機(jī)側(cè),為負(fù)載和應(yīng)用程序提供數(shù)據(jù)。
在NVIDIA BlueField DPU上,基于主機(jī)的網(wǎng)絡(luò)(HBN)有助于對(duì)同一節(jié)點(diǎn)上的虛擬機(jī)和容器之間的流量進(jìn)行管理和監(jiān)控。如果在一個(gè)服務(wù)器主機(jī)上創(chuàng)建了多個(gè)虛擬機(jī)或多個(gè)容器,在它們之間會(huì)有一些數(shù)據(jù)流量,不管是二層數(shù)據(jù)流量還是三層路由的功能,都可以通過(guò)基于主機(jī)網(wǎng)絡(luò)的DOCA服務(wù)在BlueField DPU上實(shí)現(xiàn),并且可以做分析和加密進(jìn)出節(jié)點(diǎn)的流量,還會(huì)把一些原來(lái)是依賴TOR交換機(jī)上的功能也在BlueField DPU中實(shí)現(xiàn),改變了數(shù)據(jù)中心網(wǎng)絡(luò)構(gòu)建的方式。
胡效赫是一名來(lái)自高校的開(kāi)發(fā)者,他所在的團(tuán)隊(duì)參加了首屆NVIDIA DPU中國(guó)黑客松競(jìng)賽,并獲得了亞軍?!拔覀兊膱F(tuán)隊(duì)是由一位博士后和兩位博士生組成的,研究方向是云計(jì)算、分布式系統(tǒng)、高性能計(jì)算。DPU作為數(shù)據(jù)中心重要組成部分,我們從2020年BlueField DPU發(fā)布之后就一直在關(guān)注,今年參加黑客松就是想進(jìn)一步學(xué)習(xí)和參與DPU的相關(guān)開(kāi)發(fā),對(duì)DOCA的API進(jìn)行深度、定制化開(kāi)發(fā),實(shí)現(xiàn)更好的性能和更豐富的功能,并且與指導(dǎo)專家和其他團(tuán)隊(duì)進(jìn)行更多的交流?!焙Ш辗Q。
據(jù)了解,該團(tuán)隊(duì)的項(xiàng)目出發(fā)點(diǎn)是著眼于基礎(chǔ)設(shè)施的業(yè)務(wù)可觀測(cè)性,并為此提出“DeepTrace”項(xiàng)目——面向DPU驅(qū)動(dòng)的基礎(chǔ)設(shè)施的網(wǎng)包級(jí)函數(shù)粒度業(yè)務(wù)可觀測(cè)性。以DOCA提供的NetFlow和粗粒度可觀測(cè)性為基礎(chǔ),對(duì)應(yīng)DOCA Netflow API庫(kù),結(jié)合DPU的高性能網(wǎng)絡(luò)處理功能,對(duì)應(yīng)DPU的ASAP2網(wǎng)包分類引擎,以及DOCA Flow API庫(kù)的數(shù)據(jù)平面和控制平面的可編程能力,將可觀測(cè)性的力度提升至網(wǎng)包級(jí),并精確到每個(gè)函數(shù)功能,性能損耗幾乎可以忽略不計(jì)。
在DeepTrace項(xiàng)目的系統(tǒng)架構(gòu)中,業(yè)務(wù)流量先經(jīng)過(guò)DeepTrace預(yù)選器,再經(jīng)由原始的DPU程序進(jìn)行處理,在DPU程序中會(huì)調(diào)用DeepTrace的觸發(fā)器實(shí)現(xiàn)相應(yīng)點(diǎn)位的觀測(cè),被觀測(cè)的數(shù)據(jù)會(huì)被匯總收集至分析器,通過(guò)數(shù)據(jù)的重組和分析得到相應(yīng)結(jié)果,例如異常流量檢測(cè)、業(yè)務(wù)問(wèn)題定位等。
其中,觸發(fā)器部分的挑戰(zhàn)是如何以最小的代價(jià)收集鏈?zhǔn)胶瘮?shù)和網(wǎng)包的信息,上述團(tuán)隊(duì)采用的方案是以統(tǒng)一化、輕量化的函數(shù)內(nèi)觸發(fā)器實(shí)現(xiàn),將DOCA NetFlow庫(kù)修改為網(wǎng)包粒度,而需要觀測(cè)的函數(shù)以API的形式調(diào)用觸發(fā)器。在預(yù)選器部分的挑戰(zhàn)是如何處理大規(guī)模原始流量,并在函數(shù)鏈中記錄網(wǎng)包,該團(tuán)隊(duì)采用的方案是通過(guò)硬件卸載的預(yù)選器進(jìn)行標(biāo)記和過(guò)濾。在開(kāi)發(fā)過(guò)程中,調(diào)用DOCA Flow庫(kù)配置所需預(yù)選的規(guī)則實(shí)現(xiàn)。分析器部分,由運(yùn)行在ARM控制平面的開(kāi)源開(kāi)放工程實(shí)現(xiàn)。
胡效赫表示:“通過(guò)專家的指導(dǎo),我們更充分地了解了DPU軟硬件特性,積累了DPU的開(kāi)發(fā)經(jīng)驗(yàn),也看到了其他團(tuán)隊(duì)在DPU上的創(chuàng)新實(shí)踐。這次的經(jīng)歷,為我們后續(xù)基于DPU進(jìn)行研究和開(kāi)發(fā)提供了很好的幫助?!毕鄳?yīng)的,DPU中國(guó)虛擬黑客松競(jìng)賽也可以激發(fā)DOCA開(kāi)發(fā)者的創(chuàng)新,在NVIDIA BlueField DPU和NVIDIA DOCA應(yīng)用場(chǎng)景上帶來(lái)一些啟發(fā),包括分布式存儲(chǔ)、數(shù)據(jù)流跟蹤分析、裸金屬云管理、RDMA數(shù)據(jù)包加解密等方面。下一步,NVIDIA計(jì)劃在今年下半年舉辦第二屆DPU中國(guó)虛擬黑客松活動(dòng)。
目前,全球有超過(guò)半數(shù)的DOCA社區(qū)注冊(cè)開(kāi)發(fā)者來(lái)自中國(guó)。自去年建立以來(lái),DOCA社區(qū)陸續(xù)為國(guó)內(nèi)開(kāi)發(fā)者開(kāi)通了BBS官方論壇、DOCA文檔庫(kù),以及DOCA的微信群,并且在微信公眾號(hào)后臺(tái)和知乎等知識(shí)平臺(tái)上積極回答相關(guān)問(wèn)題。此外,考慮到開(kāi)發(fā)者可能沒(méi)有DPU為自己的程序做驗(yàn)證,NVIDIA會(huì)通過(guò)與合作伙伴聯(lián)合成立的DPU & DOCA卓越中心,提供相應(yīng)的環(huán)境來(lái)測(cè)試和驗(yàn)證代碼。參與第一期卓越中心試運(yùn)行的合作伙伴為麗臺(tái)(上海)信息科技有限公司和上海信弘智能科技有限公司。
卓越中心所提供的DOCA開(kāi)發(fā)環(huán)境有三個(gè)要點(diǎn):第一是可遠(yuǎn)程訪問(wèn)的免費(fèi)開(kāi)發(fā)環(huán)境,或是在上面運(yùn)行已經(jīng)開(kāi)發(fā)好的程序;第二是提供了完整的開(kāi)發(fā)平臺(tái),可以進(jìn)行程序編譯、運(yùn)行和相應(yīng)的測(cè)試;第三是主要支持中國(guó)的DOCA開(kāi)發(fā)者,加速應(yīng)用的創(chuàng)新。同時(shí),卓越中心的工程師和NVIDIA的專家也會(huì)提供相關(guān)的技術(shù)幫助。每個(gè)卓越中心的運(yùn)營(yíng)公司會(huì)提供兩套開(kāi)發(fā)環(huán)境,這樣初期會(huì)有四套開(kāi)發(fā)環(huán)境供免費(fèi)使用,DOCA開(kāi)發(fā)者需要自備登錄設(shè)備和相應(yīng)的軟硬件環(huán)境,卓越中心會(huì)提供完整的軟硬件DOCA開(kāi)發(fā)環(huán)境。
DOCA開(kāi)發(fā)環(huán)境的開(kāi)放時(shí)間是周一至周四的9:00-15:00。申請(qǐng)人可以向卓越中心提交申請(qǐng),審核批準(zhǔn)之后會(huì)獲得2-6小時(shí)的免費(fèi)開(kāi)發(fā)環(huán)境使用權(quán)。需要注意的是,每次申請(qǐng)獲批后的時(shí)間是沒(méi)有辦法延長(zhǎng)的,例如申請(qǐng)了4小時(shí),那么4小時(shí)快用完時(shí),再想延長(zhǎng)2個(gè)小時(shí)是不行的,需要再次發(fā)起申請(qǐng)。截至今年年底,每一位開(kāi)發(fā)者最長(zhǎng)半年時(shí)間之內(nèi)總使用時(shí)間不超過(guò)10個(gè)小時(shí)。在申請(qǐng)免費(fèi)開(kāi)發(fā)環(huán)境時(shí),開(kāi)發(fā)者需要提前48小時(shí)發(fā)出郵件,以便后臺(tái)工程師分配系統(tǒng)資源和環(huán)境。
一直以來(lái),NVIDIA都是開(kāi)源領(lǐng)域的積極貢獻(xiàn)者,在網(wǎng)絡(luò)市場(chǎng)亦是如此,包括SONiC、OVS、DPDK、OpenMPI等等,在整個(gè)Linux社區(qū)是第三大貢獻(xiàn)者,在DPDK和SPDK社區(qū)的第二大貢獻(xiàn)者,并且成為了Linux OPI項(xiàng)目創(chuàng)始成員。DOCA開(kāi)放API和庫(kù)之后,開(kāi)發(fā)者可以借此來(lái)編寫(xiě)應(yīng)用程序的中間層,通過(guò)相關(guān)接口可以更便捷的發(fā)揮DPU特性,包括硬件卸載、正則表達(dá)式、RDMA等。
NVIDIA網(wǎng)絡(luò)市場(chǎng)總監(jiān)孟慶表示:“我們會(huì)在OPI和基金會(huì)里做出相應(yīng)的貢獻(xiàn),把整個(gè)DOCA開(kāi)放出來(lái)。上層的東西,包括一些安全功能、存儲(chǔ)加速、網(wǎng)絡(luò)硬件卸載等特性,都會(huì)進(jìn)行開(kāi)放,無(wú)論是客戶、ISV,還是合作伙伴、OEM廠商,都能在開(kāi)放的架構(gòu)之上編寫(xiě)應(yīng)用程序,這里指的甚至不止是網(wǎng)絡(luò)程序,而是一個(gè)大的數(shù)據(jù)中心管理程序,里面會(huì)調(diào)用DOCA這樣的框架?!?/p>
如今,NVIDIA BlueField DPU已作為核心部件應(yīng)用到NVIDIA認(rèn)證系統(tǒng)中,包括HGX、EGX和OVX,以及為這些認(rèn)證系統(tǒng)平臺(tái)提供加速的以太網(wǎng)或InfiniBand解決方案,同時(shí)連接NVIDIA Spectrum端到端以太網(wǎng)平臺(tái)或Quantum InfiniBand網(wǎng)絡(luò)平臺(tái),為現(xiàn)代數(shù)據(jù)中心工作負(fù)載提供所需的精確定時(shí)、高性能、高級(jí)的安全性和豐富的功能,構(gòu)建AI工廠的核心骨干網(wǎng)絡(luò),有力支撐上層系統(tǒng)軟件、高性能計(jì)算、人工智能和虛擬仿真平臺(tái)應(yīng)用,在云計(jì)算、網(wǎng)絡(luò)安全、存儲(chǔ)、管理平臺(tái)和邊緣計(jì)算等領(lǐng)域構(gòu)建全面的生態(tài)解決方案。
相關(guān)數(shù)據(jù)顯示,2023年起全球DPU市場(chǎng)規(guī)模將突破百億美元,并進(jìn)入年增長(zhǎng)率超過(guò)50%的快車道。2023年,中國(guó)的DPU市場(chǎng)規(guī)模會(huì)超過(guò)300億元,增長(zhǎng)潛力巨大。具體來(lái)說(shuō),DPU 的大規(guī)模應(yīng)用主要面向三個(gè)方面:通過(guò)數(shù)據(jù)中心加速計(jì)算模型帶來(lái)的大規(guī)模應(yīng)用,DPU能夠?yàn)镃PU的業(yè)務(wù)應(yīng)用負(fù)載和GPU的人工智能、機(jī)器學(xué)習(xí)工作負(fù)載提供數(shù)據(jù)傳輸及數(shù)據(jù)處理,性能成本比、基礎(chǔ)架構(gòu)通用性與軟硬件可迭代成為關(guān)注要素;針對(duì)客戶的數(shù)據(jù)中心基礎(chǔ)設(shè)施應(yīng)用場(chǎng)景定制設(shè)計(jì),通過(guò)大規(guī)模部署DPU滿足特定應(yīng)用場(chǎng)景的需求并解決問(wèn)題;通過(guò)生態(tài)體系帶來(lái)的大規(guī)模應(yīng)用,從客戶多樣化應(yīng)用需求出發(fā),基于開(kāi)放、標(biāo)準(zhǔn)化平臺(tái)提供創(chuàng)新應(yīng)用的通用集成解決方案,買來(lái)即可集成和部署。
可以看到,DPU是圍繞著數(shù)據(jù)在數(shù)據(jù)中心和應(yīng)用場(chǎng)景的一系列特征應(yīng)運(yùn)而生的,而DOCA就像是DPU的靈魂,二者相互結(jié)合才能發(fā)揮出最大的功效。從硬件方面來(lái)看,DPU既可以作為獨(dú)立的芯片或板卡,也可以作為額外的芯片集成在GPU或CPU中,給了客戶個(gè)性化的選購(gòu)和部署自由度,可以根據(jù)實(shí)際應(yīng)用場(chǎng)景來(lái)定制。同時(shí),與之相配的DOCA則借助全面開(kāi)放的開(kāi)發(fā)套件,最大限制降低了基于BlueField DPU的開(kāi)發(fā)門檻和成本,加速業(yè)務(wù)創(chuàng)新,推動(dòng)商業(yè)價(jià)值最大化。
評(píng)論