當前位置: 妍妍網 > 碼農

DPU發展至今,落地實戰如何?

2024-02-23碼農

本文來自「 」,隨著雲端運算、虛擬化技術的發展,網卡也隨之發展,從功能和硬體結構上基本可劃分為4個階段。

1.傳統基礎網卡(NIC)。負責資料包的收發,具有較少的硬體解除安裝能力。硬體上以ASIC硬體邏輯實作網路物理鏈路層,以及MAC層的報文處理,後期NIC標卡也支持了,諸如 CRC校驗 的功能。不具有編程能力。

2.智慧網卡(SmartNIC)。具備一定的數據平面硬體解除安裝能力,例如OVS/vRouter硬體解除安裝。硬體結構上以FPGA或者是帶有FPGA和處理器內核的整合處理器(這裏處理器功能較弱)來實作數據面硬體解除安裝。

3.FPGA+CPU的DPU網卡(FPGA-Based DPU)。兼具智慧網卡功能的同時,可以支持數據面和控制面的解除安裝以及一定的控制平面與數據平面的可編程能力。硬體結構的發展上,基於FPGA增加了通用CPU處理器,例如Inte1 CPU。

4.DPU SoC網卡(Single-Chip DPU)。單芯片的通用可編程DPU芯片,具備豐富的硬體解除安裝加速和可編程能力,支持不同雲端運算場景和資源統一管理特性。

硬體上,采用單芯片的SoC形態,兼顧效能和功耗。FPGA-Based DPU在硬體設計上的挑戰主要來自芯片面積和功耗。

面積上,PCIe介面的結構尺寸限定了板上的芯片面積;

功耗上,板卡的散熱設計與芯片和整板的功耗密切相關。

這兩個因素制約著FPGA方案的持續發展。DPU SoC方案吸取了從NIC到FPGA-Based DPU的發展過程的軟硬體經驗和成果,是目前以DPU為中心的數據中心架構的重要演進路徑。

DPU作為軟體定義芯片的典型代表,基於「軟體定義、硬體加速」的理念,是集數據處理為核心功能於芯片的通用處理器。DPU通用處理單元用來處理控制平面業務,專用處理單元保證了數據平面的處理效能,從而達到了效能與通用性的平衡。DPU專用處理單元用來解決通用基礎設施虛擬化的效能瓶頸,通用處理單元則保證DPU的通用性,使得DPU能夠廣泛適用於雲基礎設施的各種場景中,實作虛擬化軟體框架向DPU的平滑遷移。

  1. NIC的發展和套用

傳統基礎網卡NIC,又稱網路介面卡,是構成電腦網路系統中最基本和最重要的連線裝置,其主要工作是將需要傳輸的數據轉換為網路裝置能夠辨識的格式在網路技術發展的帶動下,傳統基礎網卡的功能也更加豐富,已經初步具備了一些簡單的硬體解除安裝能力(如CRC校驗、TSO/UF0、LSO/LR0、VLAN等),支持SR-IOV和流量管理QoS,傳統基礎網卡的網路介面頻寬也由原來的百兆、千兆發展到10G、25G乃至100G。

在雲端運算虛擬化網路中,傳統基礎網卡向虛擬機器提供網路接入的方式主要分為以下3種。

(1)網卡接收流量經作業系統內核協定棧轉發至虛擬機器。

(2)由 DPDK 使用者態驅動接管網卡,讓封包繞過作業系統內核協定棧直接拷貝到虛擬機器記憶體。

(3)使用SR-IOV技術,將物理網卡PF虛擬化成多個具有網卡功能的虛擬VF,再將VF直通到虛擬機器中。

隨著VxLAN等隧道協定以及OpenFlow、0VS等虛擬交換技術的套用,網路處理的復雜度在逐漸增大,需要消耗更多的CPU資源,因此智慧網卡SmartNIC誕生了。

2.SmartNIC的發展和套用

智慧網卡SmartNIC除了具備傳統基礎網卡的網路傳輸功能外,還提供豐富的硬體解除安裝加速能力,能夠提升雲端運算網路的轉發速率,釋放主機CPU計算資源。

智慧網卡SmartNIC上沒有通用處理器CPU,需要主機CPU進行控制面管理。智慧網卡SmartNIC主要解除安裝加速物件是數據平面,如 虛擬交換機 0VS/vRouter等數據面Fastpath解除安裝、RDMA網路解除安裝、NVMe-oF儲存解除安裝以及 IPsec /TLS數據面安全解除安裝等。

但是隨著雲端運算套用中網路速率的不斷提高,主機仍會消耗大量寶貴的CPU資源對流量進行分類、跟蹤和控制,如何實作主機CPU的「零消耗」成了雲廠商下一步的研究方向。

3.FPGA-Based DPU網卡的發展和套用

相比智慧網卡SmartNIC,FPGA-Based DPU網卡在硬體架構上增加了通用CPU處理單元,組合成FPGA+CPU的架構形態,從而便於實作對網路、儲存、安全和管控等通用基礎設施的加速和解除安裝。

在這個階段中,DPU的產品形態主要以FPGA+CPU為主。基於FPGA+CPU硬體架構的DPU具有良好的軟硬體可編程性,在DPU發展初期大部份DPU廠商都選擇了這個方案。該方案開發時間相對較短且叠代快速,能夠迅速完成客製化功能開發,便於DPU廠商快速推出產品,搶占市場。但是隨著網路頻寬從25G向100G的遷移,基於FPGA+CPU硬體架構的DPU受到芯片制程和FPGA結構的限制,導致在追求更高吞吐能力時,難以做到對芯片面積和功耗的很好控制,從而制約了這種DPU架構的持續發展。

4.DPU SoC網卡的發展和套用

DPU SoC是基於ASIC的硬體架構,結合了ASIC和CPU的優勢,兼顧了專用加速器的優異效能和通用處理器的可編程靈活性的單芯片DPU技術方案,是驅動雲端運算技術發展的重要因素。

如前一段所述,雖然DPU在雲端運算扮演著重要的作用,但傳統的DPU方案多以FPGA-based方案呈現,隨著伺服器從25G向下一代100G伺服器遷移,其成本、功耗、功能等諸多方面受到了嚴重的挑戰。單芯片的DPU SoC不僅在成本、功耗方面有著巨大優勢,同時也兼具高吞吐和高靈活編程能力,不僅支持虛擬機器、容器的套用管理部署,也支持裸金屬套用。

隨著DPU技術的不斷發展,通用可編程的DPU SoC正在成為雲廠商在數據中心建設中的關鍵部件。DPU SoC可以實作對數據中心中的計算資源和網路資源的經濟高效管理,具備豐富功能和可編程能力的DPUSoC可以支持不同雲端運算場景和資源統一管理,最佳化數據中心計算資源利用率。

在DPU的設計、開發和使用中,國內外芯片巨頭和頭部雲服務商都投入了大量的研發資源,經過不斷探索和實踐,取得了很好的成本收益。

1.DPU在AWS(亞馬遜雲)中的套用

AWS是全球領先的雲端運算服務和解決方案提供商,AWS NitroDPU系統已經成為AWS雲服務的技術基石。AWS借助Nitro DPU系統把網路、儲存、安全和監控等功能分解並轉移到專用的硬體和軟體上,將伺服器上幾乎所有資源都提供給服務例項,極大地降低了成本。Nitro DPU在亞馬遜雲中的套用可以使一台伺服器每年可以多獲得幾千美元的收益。 Nitro DPU系統主要分為以下幾個部份。

(1)Nitro卡。一系列用於網路、儲存和管控的專用硬體,以提高整體系統效能。

(2)Nitro安全芯片。將虛擬化和安全功能轉移到專用的硬體和軟體上,減少攻擊面,實作安全的雲平台。

(3)Nitro控制卡。一種輕量型 Hypervisor 管理程式,可以管理記憶體和CPU的分配,並提供與裸機無異的效能。

Nitro DPU系統提供了金鑰、網路、安全、伺服器和監控等功能支持,釋放了底層服務資源供客戶的虛擬機器使用,並且NitroDPU使AWS可以提供更多的裸金屬例項型別,甚至將特定例項的網路效能提升到100Gbps。

2.Nvidia DPU的套用

Nvidia是一家以設計和銷售圖形處理器GPU為主的半導體公司,GPU產品在AI和高效能計算HPC領域被廣泛套用。2020年4月,Nvidia以69億美元的價格收購了網路芯片和裝置公司Mellanox,隨後陸續推出BlueField系列DPU。

Nvidia BlueField-3DPU(如圖7所示)延續了BlueField-2DPU的先進特性,是首款為AI和加速計算而設計的DPU。BlueField-3 DPU提供了最高400Gbps網路連線,可以解除安裝、加速和隔離,支持軟體定義網路、儲存、安全和管控功能。

3.Intel IPU的套用

Intel IPU是一種具有硬化加速器和乙太網路連線的高級網路裝置,可使用緊密耦合的專用可編程內核來加速和管理基礎設施功能。IPU提供完整的基礎設施解除安裝,並充當執行基礎設施套用的主機控制點,以提供額外的安全層。使用Intel IPU,可以將全部基礎設施業務從伺服器解除安裝到IPU上,釋放伺服器CPU資源,也為雲服務提供商提供了一個獨立且安全的控制點。

2021年,Intel在Intel Architecture Day上釋出了OakSprings Canyon和Mount Evans IPU產品。其中,Oak Springs Canyon是基於FPGA的IPU產品,Mount EvansIPU是基於ASIC的IPU產品。

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子系統和計算子系統兩個部份。網路部份用ASIC進行封包處理,效能相比FPGA高很多,且功耗更低。計算子系統使用了16個ARM Neoverse N1核心,擁有極強的計算能力。

4.DPU在阿裏雲中的套用

阿裏雲也在DPU的技術上不斷進行著探索。2022年阿裏雲峰會上,阿裏雲正式釋出了雲基礎設施處理器CIPU,CIPU的前 身是基於神龍架構的MoC卡(Micro Server on a Card),從功能和定位符合DPU的定義。MoC卡擁有獨立的I0、儲存和處理單元,承擔了網路、儲存和裝置虛擬化的工作。第一代和第二代MoC卡解決了狹義上的計算虛擬化零開銷問題,網路和儲存部份的虛擬化仍由軟體實作。第三代MoC卡實作了部份網路轉發功能硬化,網路效能大幅提升。第四代MoC卡實作了網路、儲存全硬體解除安裝,還支持了RDMA能力。

阿裏雲CIPU作為一顆為飛天系統設計的數據中心處理器系統,對於阿裏雲構建新一代完整的軟硬體雲端運算架構體系有著重大意義。

5.DPU在火山引擎中的套用

火山引擎同樣在不斷探索自研DPU的道路,其自研DPU采用軟硬一體虛擬化技術,旨在為使用者提供可彈性伸縮的高效能計算服務。在火山引擎彈性計算產品中,第二代彈性裸金屬伺服器和 第三代雲伺服器都搭載了自研DPU,在產品能力和套用場景上進行了廣泛驗證。2022年正式對外商用的火山引擎第二代EBM例項首次搭載火山自研DPU,在整體效能上既保留了傳統物理機的穩定性和安全性優勢,能夠實作安全物理隔離,又兼具虛擬機器的彈性和靈活性優勢,是新一代多優勢兼具的高效能雲伺服器。2023年上半年釋出的火山引擎第三代ECS例項同樣結合了火山引擎自研最新DPU的架構和自研虛擬交換機、虛擬化技術,網路及儲存IO效能均實作了大幅提升。

更多 DPU技術 ,請參考文章 ,「 ,「 」,「 ,「 」, 」,「 」, ,「 等等

相關閱讀:

免責申明: 本號聚焦相關技術分享,內容觀點不代表本號立場, 可追溯內容均註明來源 ,釋出文章若存在版權等問題,請留言聯系刪除,謝謝。

推薦閱讀

更多 架構相關技術 知識總結請參考「 架構師全店鋪技術資料打包 (全) 」相關電子書( 41本 技術資料打包匯總詳情 可透過「 閱讀原文 」獲取)。

全店內容持續更新,現下單「 架構師技術全店資料打包匯總(全) 」一起發送「 和「 pdf及ppt版本 ,後續可享 全店 內容更新「 免費 」贈閱,價格僅收 249 元(原總價 399 元)。

溫馨提示:

掃描 二維碼 關註公眾號,點選 閱讀原文 連結 獲取 架構師技術全店資料打包匯總(全) 電子書資料詳情