本文來自“DPU技術(shù)發(fā)展及落地實戰(zhàn)(2023)”,隨著云計算、虛擬化技術(shù)的發(fā)展,網(wǎng)卡也隨之發(fā)展,從功能和硬件結(jié)構(gòu)上基本可劃分為4個階段。
1.傳統(tǒng)基礎(chǔ)網(wǎng)卡(NIC)。負(fù)責(zé)數(shù)據(jù)報文的收發(fā),具有較少的硬件卸載能力。硬件上以ASIC硬件邏輯實現(xiàn)網(wǎng)絡(luò)物理鏈路層,以及MAC層的報文處理,后期NIC標(biāo)卡也支持了,諸如CRC校驗的功能。不具有編程能力。
2.智能網(wǎng)卡(SmartNIC)。具備一定的數(shù)據(jù)平面硬件卸載能力,例如OVS/vRouter硬件卸載。硬件結(jié)構(gòu)上以FPGA或者是帶有FPGA和處理器內(nèi)核的集成處理器(這里處理器功能較弱)來實現(xiàn)數(shù)據(jù)面硬件卸載。
3.FPGA+CPU的DPU網(wǎng)卡(FPGA-Based DPU)。兼具智能網(wǎng)卡功能的同時,可以支持?jǐn)?shù)據(jù)面和控制面的卸載以及一定的控制平面與數(shù)據(jù)平面的可編程能力。硬件結(jié)構(gòu)的發(fā)展上,基于FPGA增加了通用CPU處理器,例如Inte1 CPU。
4.DPU SoC網(wǎng)卡(Single-Chip DPU)。單芯片的通用可編程DPU芯片,具備豐富的硬件卸載加速和可編程能力,支持不同云計算場景和資源統(tǒng)一管理特性。
硬件上,采用單芯片的SoC形態(tài),兼顧性能和功耗。FPGA-Based DPU在硬件設(shè)計上的挑戰(zhàn)主要來自芯片面積和功耗。
面積上,PCIe接口的結(jié)構(gòu)尺寸限定了板上的芯片面積;
功耗上,板卡的散熱設(shè)計與芯片和整板的功耗密切相關(guān)。
這兩個因素制約著FPGA方案的持續(xù)發(fā)展。DPU SoC方案吸取了從NIC到FPGA-Based DPU的發(fā)展過程的軟硬件經(jīng)驗和成果,是目前以DPU為中心的數(shù)據(jù)中心架構(gòu)的重要演進(jìn)路徑。
DPU作為軟件定義芯片的典型代表,基于“軟件定義、硬件加速”的理念,是集數(shù)據(jù)處理為核心功能于芯片的通用處理器。DPU通用處理單元用來處理控制平面業(yè)務(wù),專用處理單元保證了數(shù)據(jù)平面的處理性能,從而達(dá)到了性能與通用性的平衡。DPU專用處理單元用來解決通用基礎(chǔ)設(shè)施虛擬化的性能瓶頸,通用處理單元則保證DPU的通用性,使得DPU能夠廣泛適用于云基礎(chǔ)設(shè)施的各種場景中,實現(xiàn)虛擬化軟件框架向DPU的平滑遷移。
NIC的發(fā)展和應(yīng)用
傳統(tǒng)基礎(chǔ)網(wǎng)卡NIC,又稱網(wǎng)絡(luò)適配器,是構(gòu)成計算機(jī)網(wǎng)絡(luò)系統(tǒng)中最基本和最重要的連接設(shè)備,其主要工作是將需要傳輸?shù)臄?shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)設(shè)備能夠識別的格式在網(wǎng)絡(luò)技術(shù)發(fā)展的帶動下,傳統(tǒng)基礎(chǔ)網(wǎng)卡的功能也更加豐富,已經(jīng)初步具備了一些簡單的硬件卸載能力(如CRC校驗、TSO/UF0、LSO/LR0、VLAN等),支持SR-IOV和流量管理QoS,傳統(tǒng)基礎(chǔ)網(wǎng)卡的網(wǎng)絡(luò)接口帶寬也由原來的百兆、千兆發(fā)展到10G、25G乃至100G。
在云計算虛擬化網(wǎng)絡(luò)中,傳統(tǒng)基礎(chǔ)網(wǎng)卡向虛擬機(jī)提供網(wǎng)絡(luò)接入的方式主要分為以下3種。
(1)網(wǎng)卡接收流量經(jīng)操作系統(tǒng)內(nèi)核協(xié)議棧轉(zhuǎn)發(fā)至虛擬機(jī)。
(2)由DPDK用戶態(tài)驅(qū)動接管網(wǎng)卡,讓數(shù)據(jù)包繞過操作系統(tǒng)內(nèi)核協(xié)議棧直接拷貝到虛擬機(jī)內(nèi)存。
(3)使用SR-IOV技術(shù),將物理網(wǎng)卡PF虛擬化成多個具有網(wǎng)卡功能的虛擬VF,再將VF直通到虛擬機(jī)中。
隨著VxLAN等隧道協(xié)議以及OpenFlow、0VS等虛擬交換技術(shù)的應(yīng)用,網(wǎng)絡(luò)處理的復(fù)雜度在逐漸增大,需要消耗更多的CPU資源,因此智能網(wǎng)卡SmartNIC誕生了。
2.SmartNIC的發(fā)展和應(yīng)用
智能網(wǎng)卡SmartNIC除了具備傳統(tǒng)基礎(chǔ)網(wǎng)卡的網(wǎng)絡(luò)傳輸功能外,還提供豐富的硬件卸載加速能力,能夠提升云計算網(wǎng)絡(luò)的轉(zhuǎn)發(fā)速率,釋放主機(jī)CPU計算資源。
智能網(wǎng)卡SmartNIC上沒有通用處理器CPU,需要主機(jī)CPU進(jìn)行控制面管理。智能網(wǎng)卡SmartNIC主要卸載加速對象是數(shù)據(jù)平面,如虛擬交換機(jī)0VS/vRouter等數(shù)據(jù)面Fastpath卸載、RDMA網(wǎng)絡(luò)卸載、NVMe-oF存儲卸載以及IPsec/TLS數(shù)據(jù)面安全卸載等。
但是隨著云計算應(yīng)用中網(wǎng)絡(luò)速率的不斷提高,主機(jī)仍會消耗大量寶貴的CPU資源對流量進(jìn)行分類、跟蹤和控制,如何實現(xiàn)主機(jī)CPU的“零消耗”成了云廠商下一步的研究方向。
3.FPGA-Based DPU網(wǎng)卡的發(fā)展和應(yīng)用
相比智能網(wǎng)卡SmartNIC,F(xiàn)PGA-Based DPU網(wǎng)卡在硬件架構(gòu)上增加了通用CPU處理單元,組合成FPGA+CPU的架構(gòu)形態(tài),從而便于實現(xiàn)對網(wǎng)絡(luò)、存儲、安全和管控等通用基礎(chǔ)設(shè)施的加速和卸載。
在這個階段中,DPU的產(chǎn)品形態(tài)主要以FPGA+CPU為主。基于FPGA+CPU硬件架構(gòu)的DPU具有良好的軟硬件可編程性,在DPU發(fā)展初期大部分DPU廠商都選擇了這個方案。該方案開發(fā)時間相對較短且迭代快速,能夠迅速完成定制化功能開發(fā),便于DPU廠商快速推出產(chǎn)品,搶占市場。但是隨著網(wǎng)絡(luò)帶寬從25G向100G的遷移,基于FPGA+CPU硬件架構(gòu)的DPU受到芯片制程和FPGA結(jié)構(gòu)的限制,導(dǎo)致在追求更高吞吐能力時,難以做到對芯片面積和功耗的很好控制,從而制約了這種DPU架構(gòu)的持續(xù)發(fā)展。
4.DPU SoC網(wǎng)卡的發(fā)展和應(yīng)用
DPU SoC是基于ASIC的硬件架構(gòu),結(jié)合了ASIC和CPU的優(yōu)勢,兼顧了專用加速器的優(yōu)異性能和通用處理器的可編程靈活性的單芯片DPU技術(shù)方案,是驅(qū)動云計算技術(shù)發(fā)展的重要因素。
如前一段所述,雖然DPU在云計算扮演著重要的作用,但傳統(tǒng)的DPU方案多以FPGA-based方案呈現(xiàn),隨著服務(wù)器從25G向下一代100G服務(wù)器遷移,其成本、功耗、功能等諸多方面受到了嚴(yán)重的挑戰(zhàn)。單芯片的DPU SoC不僅在成本、功耗方面有著巨大優(yōu)勢,同時也兼具高吞吐和高靈活編程能力,不僅支持虛擬機(jī)、容器的應(yīng)用管理部署,也支持裸金屬應(yīng)用。
隨著DPU技術(shù)的不斷發(fā)展,通用可編程的DPU SoC正在成為云廠商在數(shù)據(jù)中心建設(shè)中的關(guān)鍵部件。DPU SoC可以實現(xiàn)對數(shù)據(jù)中心中的計算資源和網(wǎng)絡(luò)資源的經(jīng)濟(jì)高效管理,具備豐富功能和可編程能力的DPUSoC可以支持不同云計算場景和資源統(tǒng)一管理,優(yōu)化數(shù)據(jù)中心計算資源利用率。
在DPU的設(shè)計、開發(fā)和使用中,國內(nèi)外芯片巨頭和頭部云服務(wù)商都投入了大量的研發(fā)資源,經(jīng)過不斷探索和實踐,取得了很好的成本收益。
1.DPU在AWS(亞馬遜云)中的應(yīng)用
AWS是全球領(lǐng)先的云計算服務(wù)和解決方案提供商,AWS NitroDPU系統(tǒng)已經(jīng)成為AWS云服務(wù)的技術(shù)基石。AWS借助Nitro DPU系統(tǒng)把網(wǎng)絡(luò)、存儲、安全和監(jiān)控等功能分解并轉(zhuǎn)移到專用的硬件和軟件上,將服務(wù)器上幾乎所有資源都提供給服務(wù)實例,極大地降低了成本。Nitro DPU在亞馬遜云中的應(yīng)用可以使一臺服務(wù)器每年可以多獲得幾千美元的收益。Nitro DPU系統(tǒng)主要分為以下幾個部分。
(1)Nitro卡。一系列用于網(wǎng)絡(luò)、存儲和管控的專用硬件,以提高整體系統(tǒng)性能。
(2)Nitro安全芯片。將虛擬化和安全功能轉(zhuǎn)移到專用的硬件和軟件上,減少攻擊面,實現(xiàn)安全的云平臺。
(3)Nitro控制卡。一種輕量型Hypervisor管理程序,可以管理內(nèi)存和CPU的分配,并提供與裸機(jī)無異的性能。
Nitro DPU系統(tǒng)提供了密鑰、網(wǎng)絡(luò)、安全、服務(wù)器和監(jiān)控等功能支持,釋放了底層服務(wù)資源供客戶的虛擬機(jī)使用,并且NitroDPU使AWS可以提供更多的裸金屬實例類型,甚至將特定實例的網(wǎng)絡(luò)性能提升到100Gbps。
2.Nvidia DPU的應(yīng)用
Nvidia是一家以設(shè)計和銷售圖形處理器GPU為主的半導(dǎo)體公司,GPU產(chǎn)品在AI和高性能計算HPC領(lǐng)域被廣泛應(yīng)用。2020年4月,Nvidia以69億美元的價格收購了網(wǎng)絡(luò)芯片和設(shè)備公司Mellanox,隨后陸續(xù)推出BlueField系列DPU。
Nvidia BlueField-3DPU(如圖7所示)延續(xù)了BlueField-2DPU的先進(jìn)特性,是首款為AI和加速計算而設(shè)計的DPU。BlueField-3 DPU提供了最高400Gbps網(wǎng)絡(luò)連接,可以卸載、加速和隔離,支持軟件定義網(wǎng)絡(luò)、存儲、安全和管控功能。
3.Intel?IPU的應(yīng)用
Intel IPU是一種具有硬化加速器和以太網(wǎng)連接的高級網(wǎng)絡(luò)設(shè)備,可使用緊密耦合的專用可編程內(nèi)核來加速和管理基礎(chǔ)設(shè)施功能。IPU提供完整的基礎(chǔ)設(shè)施卸載,并充當(dāng)運(yùn)行基礎(chǔ)設(shè)施應(yīng)用的主機(jī)控制點(diǎn),以提供額外的安全層。使用Intel IPU,可以將全部基礎(chǔ)設(shè)施業(yè)務(wù)從服務(wù)器卸載到IPU上,釋放服務(wù)器CPU資源,也為云服務(wù)提供商提供了一個獨(dú)立且安全的控制點(diǎn)。
2021年,Intel在Intel Architecture Day上發(fā)布了OakSprings Canyon和Mount Evans IPU產(chǎn)品。其中,Oak Springs Canyon是基于FPGA的IPU產(chǎn)品,Mount EvansIPU是基于ASIC的IPU產(chǎn)品。
Intel Oak Springs Canyon IPU配備了Intel Agilex FPGA和Xeon-D CPU。Intel Mount Evans IPU是Intel與Google共同設(shè)計的SoC(System-on-a-Chip),Mount Evans主要分為I0子系統(tǒng)和計算子系統(tǒng)兩個部分。網(wǎng)絡(luò)部分用ASIC進(jìn)行數(shù)據(jù)包處理,性能相比FPGA高很多,且功耗更低。計算子系統(tǒng)使用了16個ARM Neoverse N1核心,擁有極強(qiáng)的計算能力。
4.DPU在阿里云中的應(yīng)用
阿里云也在DPU的技術(shù)上不斷進(jìn)行著探索。2022年阿里云峰會上,阿里云正式發(fā)布了云基礎(chǔ)設(shè)施處理器CIPU,CIPU的前身是基于神龍架構(gòu)的MoC卡(Micro Server on a Card),從功能和定位符合DPU的定義。MoC卡擁有獨(dú)立的I0、存儲和處理單元,承擔(dān)了網(wǎng)絡(luò)、存儲和設(shè)備虛擬化的工作。第一代和第二代MoC卡解決了狹義上的計算虛擬化零開銷問題,網(wǎng)絡(luò)和存儲部分的虛擬化仍由軟件實現(xiàn)。第三代MoC卡實現(xiàn)了部分網(wǎng)絡(luò)轉(zhuǎn)發(fā)功能硬化,網(wǎng)絡(luò)性能大幅提升。第四代MoC卡實現(xiàn)了網(wǎng)絡(luò)、存儲全硬件卸載,還支持了RDMA能力。
阿里云CIPU作為一顆為飛天系統(tǒng)設(shè)計的數(shù)據(jù)中心處理器系統(tǒng),對于阿里云構(gòu)建新一代完整的軟硬件云計算架構(gòu)體系有著重大意義。
5.DPU在火山引擎中的應(yīng)用
火山引擎同樣在不斷探索自研DPU的道路,其自研DPU采用軟硬一體虛擬化技術(shù),旨在為用戶提供可彈性伸縮的高性能計算服務(wù)。在火山引擎彈性計算產(chǎn)品中,第二代彈性裸金屬服務(wù)器和第三代云服務(wù)器都搭載了自研DPU,在產(chǎn)品能力和應(yīng)用場景上進(jìn)行了廣泛驗證。2022年正式對外商用的火山引擎第二代EBM實例首次搭載火山自研DPU,在整體性能上既保留了傳統(tǒng)物理機(jī)的穩(wěn)定性和安全性優(yōu)勢,能夠?qū)崿F(xiàn)安全物理隔離,又兼具虛擬機(jī)的彈性和靈活性優(yōu)勢,是新一代多優(yōu)勢兼具的高性能云服務(wù)器。2023年上半年發(fā)布的火山引擎第三代ECS實例同樣結(jié)合了火山引擎自研最新DPU的架構(gòu)和自研虛擬交換機(jī)、虛擬化技術(shù),網(wǎng)絡(luò)及存儲IO性能均實現(xiàn)了大幅提升。
審核編輯:黃飛
?
評論
查看更多