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