一、NVIDIA DOCA軟件框架
(1)設(shè)計(jì)目的
NVIDIA BlueField DPU的核心目的是解決數(shù)據(jù)中心中基于CPU計(jì)算的基礎(chǔ)設(shè)施的算力問(wèn)題,主要涉及網(wǎng)絡(luò)、存儲(chǔ)、安全及基礎(chǔ)設(shè)施管理這個(gè)幾個(gè)方面。而DOCA是為了將BlueField DPU提供的硬件能力做軟件抽象和封裝,以SDK Library的形式提供友好的可編程接口,提高應(yīng)用開(kāi)發(fā)的效率。
(2)技術(shù)細(xì)節(jié)
DOCA架構(gòu)如下圖所示,DOCA有三個(gè)模塊,分別是:
(1)DOCA drivers:是對(duì)DPU硬件資源的低層次封裝,其提供的low-level API是對(duì)硬件卸載能力的訪(fǎng)問(wèn),主要包含網(wǎng)絡(luò)卸載、安全卸載、存儲(chǔ)卸載等算力的訪(fǎng)問(wèn),同時(shí)支持DPDK, RDMA,Virtio-net(網(wǎng)絡(luò)虛擬化),Virtio-blk(存儲(chǔ)虛擬化),PCIe等通用能力。
(2)DOCA libs:是基于DOCA drivers為上層應(yīng)用封裝的high-level API,這些API是面向應(yīng)用層所需的功能,例如面向網(wǎng)絡(luò)應(yīng)用的Flow,Data Integrity, UPF(User Plane Function), VNF(Network Functions Virtualization);面向存儲(chǔ)應(yīng)用的SPDK;面向安全應(yīng)用的DPI(Deep Packet Inspection), Host introspection等。
(3)DOCA services:封裝了基礎(chǔ)設(shè)施的控制和管理功能,如DPU設(shè)備的管理,SDN(Software-Defined Network)的控制接口,存儲(chǔ)管理,Network Telemetry等。

圖DOCA軟件棧
(3)功能分析
從縱向的功能角度來(lái)看,DOCA SDK提供了網(wǎng)絡(luò)加速、安全加速、存儲(chǔ)加速和基礎(chǔ)設(shè)施管理加速的功能,相關(guān)的技術(shù)細(xì)節(jié)如下:
(1)網(wǎng)絡(luò)加速SDK:支持ASAP2 (Accelerated Switching and Packet Processing) SDN、VirtIO、OVS (open virtual switching)、P4編程、RDMA。
(2)安全加速SDK:支持Inline encryption、DPI(Deep Packet Inspection)、TLS、IPSec。
(3)存儲(chǔ)加速SDK:支持SPDK、VirtIO、NVMe-oF、數(shù)據(jù)加解密和數(shù)據(jù)壓縮等。
(4)基礎(chǔ)設(shè)施管理加速SDK:支持DPU management、Traffic telemetry、Packet filtering。
二、Intel OneAPI軟件框架
(1)設(shè)計(jì)目的
OneAPI設(shè)計(jì)的目的是通過(guò)實(shí)現(xiàn)一個(gè)跨平臺(tái),開(kāi)放的,標(biāo)準(zhǔn)的通用編程模型及接口來(lái)提高在異構(gòu)加速器架構(gòu)下的開(kāi)發(fā)效率。OneAPI本身并不提供DPU設(shè)備,而是構(gòu)建一個(gè)軟件框架來(lái)整合業(yè)界現(xiàn)有的異構(gòu)計(jì)算設(shè)備11。
(2)技術(shù)細(xì)節(jié)
OneAPI抽象出兩層APIs,分為L(zhǎng)0 (Low-level) API和L1 (High-Level) API。其結(jié)構(gòu)如下圖所示。

圖OneAPI軟件棧
L0 API: OneAPI的L0 API整合并封裝了業(yè)界流行的異構(gòu)計(jì)算設(shè)備(如GPU,AI,FPGA等)及其軟件框架(如CUDA,OpenCL),并提供統(tǒng)一的針對(duì)硬件資源訪(fǎng)問(wèn)的low-level API。這樣,不同的硬件平臺(tái)對(duì)上層應(yīng)用開(kāi)發(fā)來(lái)說(shuō)是透明的,從而起到了跨平臺(tái)的作用。
L1 API:OneAPI的L1 API提供了一系列針對(duì)特定應(yīng)用場(chǎng)景的High-level API,這些API主要服務(wù)于機(jī)器學(xué)習(xí)、數(shù)據(jù)分析、并行計(jì)算、視頻處理等特定領(lǐng)域,有Deep Learning API, Data Science API, Data Analysis API,Multiple Thread API, Video Processing API等。
基于上述兩層的抽象和封裝,上層應(yīng)用程序可以利用L1 API進(jìn)行特定領(lǐng)域的數(shù)據(jù)處理加速,也可以直接訪(fǎng)問(wèn)L0 API進(jìn)行編程來(lái)服務(wù)更加廣泛的場(chǎng)景。
三、中科馭數(shù)HADOS?軟件框架
馭數(shù)DPU的軟件框架是基于上述五層模型構(gòu)建的,整體架構(gòu)如下圖所示:

圖 馭數(shù)異構(gòu)計(jì)算系統(tǒng)架構(gòu)
DSA設(shè)備層集成了馭數(shù)自研DPU芯片加速卡設(shè)備,分別是針對(duì)數(shù)據(jù)計(jì)算、軟件定義網(wǎng)絡(luò)、軟件定義存儲(chǔ)以及安全相關(guān)的的硬件設(shè)備。這些硬件設(shè)備在物理上是由馭數(shù)DPU芯片、內(nèi)存、存儲(chǔ)、I/O通道和KPU指令集等共同構(gòu)成;DSA操作層是一個(gè)為支撐基于DPU設(shè)備開(kāi)發(fā)的軟件操作平臺(tái),即DPU操作平臺(tái),該平臺(tái)提供了DPU資源訪(fǎng)問(wèn)、調(diào)度、監(jiān)控和管理的功能,同時(shí)也提供了完備友好的開(kāi)發(fā)工具庫(kù);計(jì)算引擎層為針對(duì)數(shù)據(jù)計(jì)算應(yīng)用軟件封裝的一個(gè)通用的數(shù)據(jù)計(jì)算加速引擎,它基于DPU操作平臺(tái)提供的計(jì)算能力,實(shí)現(xiàn)了硬件卸載的算子及相應(yīng)算子的軟件優(yōu)化器,這些算子分為計(jì)算類(lèi)算子、網(wǎng)絡(luò)類(lèi)算子和存儲(chǔ)類(lèi)算子;應(yīng)用服務(wù)層為使用馭數(shù)DPU進(jìn)行加速的數(shù)據(jù)處理平臺(tái)、網(wǎng)絡(luò)服務(wù)平臺(tái)和存儲(chǔ)服務(wù)平臺(tái),如大數(shù)據(jù)領(lǐng)域的Spark,數(shù)據(jù)庫(kù)領(lǐng)域的PostgreSQL,機(jī)器學(xué)習(xí)領(lǐng)域的XGBoost,微服務(wù)架構(gòu)中負(fù)責(zé)遠(yuǎn)程通信的gRPC框架,Web服務(wù)平臺(tái)Nginx以及分布式存儲(chǔ)平臺(tái)Ceph等;業(yè)務(wù)開(kāi)發(fā)層為馭數(shù)數(shù)據(jù)計(jì)算加速產(chǎn)品所服務(wù)的業(yè)務(wù)系統(tǒng),主要來(lái)自對(duì)計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)性能敏感的領(lǐng)域,如金融計(jì)算、交易、數(shù)據(jù)分析、云服務(wù)等。在上述五層架構(gòu)中,DPU操作平臺(tái)與數(shù)據(jù)計(jì)算加速引擎共同構(gòu)建了馭數(shù)為支撐DPU異構(gòu)計(jì)算而打造的專(zhuān)用軟件框架,即敏捷異構(gòu)軟件開(kāi)發(fā)平臺(tái),Heterogenous Agile Developing & Operating System,簡(jiǎn)稱(chēng)“HADOS?”。
四、DOCA,OneAPI與HADOS比較分析
整體來(lái)看,這三款軟件框架的出發(fā)點(diǎn)是相似的,都是在異構(gòu)計(jì)算的架構(gòu)下提供一套通用且編程友好的軟件開(kāi)發(fā)框架。它們?cè)谠O(shè)計(jì)這套軟件框架時(shí)都采用了分層抽象的思路,目的是使各層職責(zé)清晰,對(duì)上層提供足夠簡(jiǎn)單且功能完備的接口。
具體到功能實(shí)現(xiàn)上,它們都是在網(wǎng)絡(luò)、計(jì)算、存儲(chǔ)、安全這些范疇內(nèi)做了相應(yīng)的支持,不過(guò)由于它們待解決的問(wèn)題及根本目的存在差異,所以在架構(gòu)設(shè)計(jì)和功能實(shí)現(xiàn)上的側(cè)重點(diǎn)有所不同。簡(jiǎn)單來(lái)說(shuō),DOCA側(cè)重點(diǎn)是支持基于Blue Field DPU的數(shù)據(jù)中心基礎(chǔ)設(shè)施服務(wù)加速的場(chǎng)景;OneAPI側(cè)重點(diǎn)是構(gòu)建設(shè)備無(wú)關(guān)的資源訪(fǎng)問(wèn)庫(kù)和編程接口;HADOS側(cè)重點(diǎn)是支持基于YusurDPU的網(wǎng)絡(luò)、計(jì)算、存儲(chǔ)服務(wù)加速的場(chǎng)景。
下表針對(duì)這三款軟件框架在設(shè)計(jì)目的、五層架構(gòu)模型及各自特點(diǎn)上做了詳細(xì)比較。

-
DPU
+關(guān)注
關(guān)注
0文章
390瀏覽量
24694
發(fā)布評(píng)論請(qǐng)先 登錄
第三屆NVIDIA DPU黑客松開(kāi)啟報(bào)名
潤(rùn)和軟件發(fā)布鯤鵬+openGauss全棧智能體解決方案
潤(rùn)和軟件AIRUNS 3.0通過(guò)鯤鵬生態(tài)全棧兼容認(rèn)證,全面適配國(guó)產(chǎn)軟硬件環(huán)境

潤(rùn)和軟件AIRUNS智能中樞平臺(tái)接入DeepSeek大模型

利用NVIDIA DPF引領(lǐng)DPU加速云計(jì)算的未來(lái)

商湯參與基于昇思AI框架的大模型原生開(kāi)發(fā)成果發(fā)布
大語(yǔ)言模型開(kāi)發(fā)框架是什么
OSI七層模型在網(wǎng)絡(luò)故障排查中的應(yīng)用
OSI七層模型的每一層功能
OSI七層模型詳解 OSI七層模型與TCP/IP模型比較
亞信電子于IAS 2024展出最新IO-Link主站&設(shè)備軟件協(xié)議棧解決方案

IaaS+on+DPU(IoD)+下一代高性能算力底座技術(shù)白皮書(shū)
初識(shí)IO-Link及IO-Link設(shè)備軟件協(xié)議棧

芯片軟件全上陣 DPU“全家桶”來(lái)了!中科馭數(shù)成功舉辦2024產(chǎn)品發(fā)布會(huì)

評(píng)論