隨著云計算和虛擬化技術(shù)的發(fā)展,網(wǎng)卡在功能和硬件結(jié)構(gòu)方面也經(jīng)歷了四個階段,即網(wǎng)卡、智能網(wǎng)卡、基于FPGA的DPU和DPU SoC網(wǎng)卡。本文將重點介紹這些不同類型的網(wǎng)絡(luò)適配器和處理器,在硬件、可編程能力、開發(fā)和應(yīng)用方面的特點。
網(wǎng)卡的演進(jìn)和應(yīng)用
傳統(tǒng)的基本網(wǎng)卡,也被稱為NIC或網(wǎng)絡(luò)適配器,在計算機網(wǎng)絡(luò)中的作用至關(guān)重要。它的主要功能是將數(shù)據(jù)轉(zhuǎn)換為網(wǎng)絡(luò)設(shè)備之間高效傳輸所需的格式。隨著時間的推移,網(wǎng)卡的功能不斷擴(kuò)展,除了融合額外功能,還具備基本的硬件卸載功能,例如CRC校驗、TSO/UF0、LSO/LR0以及VLAN支持等。它還支持SR-IOV以實現(xiàn)虛擬化和QoS以提升網(wǎng)絡(luò)性能。在網(wǎng)絡(luò)接口帶寬方面,它已經(jīng)從100M和1000M的速率演進(jìn)到支持更高速率的10G、25G甚至100G。
在云計算虛擬化網(wǎng)絡(luò)中,傳統(tǒng)的基本網(wǎng)卡提供了三種主要方法來為虛擬機提供網(wǎng)絡(luò)訪問。
1. 通過操作系統(tǒng)內(nèi)核協(xié)議棧,網(wǎng)卡將傳入的流量轉(zhuǎn)發(fā)到虛擬機。
2. DPDK用戶態(tài)驅(qū)動程序繞過內(nèi)核協(xié)議棧,直接將數(shù)據(jù)包復(fù)制到虛擬機的內(nèi)存中,以提高性能。
3. SR-IOV技術(shù)將物理網(wǎng)卡虛擬化為多個直接分配給虛擬機的虛擬功能(VF)。
隨著VxLAN等隧道協(xié)議和虛擬交換技術(shù)等網(wǎng)絡(luò)復(fù)雜性的增加,對CPU資源的需求也越來越高。智能網(wǎng)卡通過從CPU中卸載網(wǎng)絡(luò)處理任務(wù),提升整體網(wǎng)絡(luò)性能,從而應(yīng)對這一挑戰(zhàn)。
智能網(wǎng)卡的演進(jìn)和應(yīng)用
智能網(wǎng)卡不僅提供傳統(tǒng)基本網(wǎng)卡中的網(wǎng)絡(luò)傳輸功能,還融合數(shù)據(jù)平面硬件卸載功能,例如使用FPGA或集成處理器與FPGA和處理器核心的OVS/vRouter硬件卸載。這些智能網(wǎng)卡提升云計算網(wǎng)絡(luò)的轉(zhuǎn)發(fā)速率,并減輕主機CPU的計算資源負(fù)擔(dān)。
與傳統(tǒng)的網(wǎng)卡不同,智能網(wǎng)卡不包含通用的CPU。相反,它們依賴主機CPU來管理控制平面。智能網(wǎng)卡卸載加速的主要焦點是數(shù)據(jù)平面,涵蓋了諸如0VS/vRouter等虛擬交換機的快速路徑卸載、RDMA網(wǎng)絡(luò)卸載、NVMe-oF存儲卸載和IPsec/TLS數(shù)據(jù)平面安全卸載等任務(wù)。
然而,隨著云計算應(yīng)用中網(wǎng)絡(luò)速度的不斷提高,主機CPU仍然需要大量的資源用于流量分類、跟蹤和控制。實現(xiàn)主機CPU的“零消耗”已成為云服務(wù)提供商的下一個研究方向,旨在盡可能減少主機CPU參與這些任務(wù)。
基于FPGA的數(shù)據(jù)處理單元(DPU)的演進(jìn)和應(yīng)用
基于FPGA的數(shù)據(jù)處理單元(DPU)是一種智能網(wǎng)卡,可以卸載數(shù)據(jù)并具有平面控制功能。它在控制平面和數(shù)據(jù)平面上都是部分可編程的。在硬件方面,它包括一個基于FPGA的通用CPU處理器,例如英特爾CPU。
與智能網(wǎng)卡相比,基于FPGA的數(shù)據(jù)處理單元(DPU)通過整合通用CPU處理單元來增強硬件架構(gòu),形成了FPGA+CPU架構(gòu)。這種配置有助于加速和卸載各種基礎(chǔ)設(shè)施組件,包括網(wǎng)絡(luò)、存儲、安全和管理。目前,主流形式的DPU是FPGA+CPU配置,基于這種架構(gòu)的DPU具有出色的軟件和硬件可編程性。
在DPU的早期開發(fā)階段,它提供了更短的開發(fā)時間和快速迭代,便于快速定制功能。這使得DPU制造商能夠快速推出產(chǎn)品并抓住市場機遇。然而,隨著網(wǎng)絡(luò)帶寬從25G過渡到100G,基于FPGA+CPU的DPU架構(gòu)由于芯片工藝和FPGA結(jié)構(gòu)的限制遇到挑戰(zhàn)。這些限制使得在追求更高吞吐量的同時,有效控制芯片面積和功耗變得困難。因此,這種DPU架構(gòu)的持續(xù)發(fā)展受到了阻礙。
DPU SoC網(wǎng)卡的演進(jìn)和應(yīng)用
與基于FPGA的架構(gòu)不同,基于應(yīng)用專用集成電路(ASIC)的DPU SoC將專用加速器的性能與通用處理器的可編程性相結(jié)合,解決了成本、功耗和功能等方面的問題。尤其是針對下一代100G服務(wù)器,它們在成本、功耗、高吞吐量和靈活的編程能力方面具有優(yōu)勢,DPU SoC可支持應(yīng)用管理、虛擬機、容器和裸金屬應(yīng)用。
DPU技術(shù)正在不斷發(fā)展,通用可編程的DPU SoC現(xiàn)在對于云服務(wù)提供商的數(shù)據(jù)中心建設(shè)至關(guān)重要。它們能夠高效地管理計算和網(wǎng)絡(luò)資源,支持多樣化的云計算場景,并優(yōu)化數(shù)據(jù)中心資源利用率。芯片巨頭和領(lǐng)先的云服務(wù)提供商在DPU的研究、開發(fā)和利用方面進(jìn)行了重大投資,通過持續(xù)的探索和實際實施取得了顯著的成本效益。
亞馬遜云中的DPU
亞馬遜網(wǎng)絡(luò)服務(wù)(AWS)是一家以Nitro DPU系統(tǒng)作為關(guān)鍵技術(shù)基礎(chǔ)的頂級云計算服務(wù)提供商。Nitro DPU系統(tǒng)可以高效地將網(wǎng)絡(luò)、存儲、安全和監(jiān)控功能卸載到專用的硬件和軟件上。這使得服務(wù)實例可以訪問大部分的服務(wù)器資源,從而大幅降低成本并增加年收入。Nitro DPU系統(tǒng)由多個組件組成:
1. Nitro卡:用于網(wǎng)絡(luò)、存儲和控制的專用硬件,以提升整體系統(tǒng)性能。
2. Nitro安全芯片:將虛擬化和安全功能轉(zhuǎn)移到專用的硬件和軟件上,減小攻擊面,確保安全的云平臺。
3. Nitro虛擬化管理程序:一種輕量級的虛擬化管理程序,高效地管理內(nèi)存和CPU分配,提供與裸金屬相當(dāng)?shù)男阅堋?
通過提供關(guān)鍵的網(wǎng)絡(luò)、安全、服務(wù)器和監(jiān)控功能,Nitro DPU系統(tǒng)可以釋放底層服務(wù)資源供客戶虛擬機使用。它使得AWS可以提供更多的裸金屬實例類型,甚至能夠為特定實例實現(xiàn)高達(dá)100Gbps的網(wǎng)絡(luò)性能。
英偉達(dá)(NVIDIA)DPU
英偉達(dá)(NVIDIA)是一家知名的半導(dǎo)體公司,以其在高性能計算領(lǐng)域的圖形處理單元(GPU)而聞名。該公司于2020年4月以69億美元收購了網(wǎng)絡(luò)芯片和設(shè)備公司邁絡(luò)思(Mellanox)。在收購之后,英偉達(dá)(NVIDIA)推出了BlueField系列的DPU。
NVIDIA BlueField-3 DPU是專為加速計算而設(shè)計的,繼承了BlueField-2 DPU的先進(jìn)功能。它提供高達(dá)400G的網(wǎng)絡(luò)連接,并為軟件定義的網(wǎng)絡(luò)、存儲、安全和管理功能提供卸載、加速和隔離能力。
英特爾(Intel)IPU
英特爾(Intel)IPU是一種配備了硬化加速器和以太網(wǎng)連接的先進(jìn)網(wǎng)絡(luò)設(shè)備。它利用緊密耦合的專用可編程核心來加速和管理基礎(chǔ)設(shè)施功能。IPU實現(xiàn)基礎(chǔ)設(shè)施卸載,并充當(dāng)運行基礎(chǔ)設(shè)施應(yīng)用程序的主機控制點,提供了額外的安全層。將所有基礎(chǔ)設(shè)施服務(wù)從服務(wù)器卸載到IPU中,釋放服務(wù)器CPU資源,并為云服務(wù)提供商提供了一個獨立且安全的控制點。
英特爾的路線圖包括Oak Springs Canyon和Mount Evans IPU產(chǎn)品。Oak Springs Canyon是基于FPGA的IPU產(chǎn)品,而Mount Evans IPU是基于ASIC的IPU產(chǎn)品。Oak Springs Canyon采用了英特爾的Agilex FPGA和Xeon-D CPU,而Mount Evans則由英特爾和谷歌共同設(shè)計,結(jié)合用于數(shù)據(jù)包處理的ASIC和16個ARM Neoverse N1核心,具備強大的計算能力。
阿里云中的DPU
阿里云是DPU技術(shù)探索的前沿。在2022年的阿里云峰會上,他們發(fā)布了基于神龍架構(gòu)開發(fā)的云基礎(chǔ)架構(gòu)處理器CIPU。CIPU繼承了其前身MoC卡(卡上微服務(wù)器)的功能和定位,與DPU的定義相吻合。MoC卡具有獨立的I/O、存儲和處理單元,并處理網(wǎng)絡(luò)、存儲和設(shè)備虛擬化任務(wù)。MoC卡經(jīng)歷了四個發(fā)展階段:
第一代和第二代MoC卡解決計算虛擬化的零開銷挑戰(zhàn),通過軟件實現(xiàn)了網(wǎng)絡(luò)和存儲虛擬化。
第三代MoC卡引入了增強的網(wǎng)絡(luò)轉(zhuǎn)發(fā)功能,顯著提高了網(wǎng)絡(luò)性能。
第四代MoC卡實現(xiàn)了網(wǎng)絡(luò)和存儲操作的完全硬件卸載,并支持RDMA功能。
阿里云的CIPU專為飛天系統(tǒng)設(shè)計,對于構(gòu)建新一代綜合軟硬件云計算架構(gòu)系統(tǒng)至關(guān)重要。
火山引擎DPU
火山引擎致力于推進(jìn)自主開發(fā)的DPU技術(shù),采用軟硬集成的虛擬化方法,提供彈性和可擴(kuò)展的高性能計算服務(wù)。他們的第二代彈性裸金屬服務(wù)器和第三代云服務(wù)器都配備了自主研發(fā)DPU。這些DPU經(jīng)過了廣泛的測試,以確保其在各種應(yīng)用中的功能和適應(yīng)性。2022年推出的第二代彈性裸金屬實例將物理機的穩(wěn)定性和安全性與虛擬機的靈活性相結(jié)合,代表了高性能云服務(wù)器的新一代。2023年上半年發(fā)布的第三代云服務(wù)器實例將火山引擎最新的DPU架構(gòu)與專有的虛擬交換機和虛擬化技術(shù)集成在一起,顯著提高了網(wǎng)絡(luò)和存儲I/O性能。通過結(jié)合自主開發(fā)的DPU、虛擬交換機和虛擬化技術(shù),Volcano Engine旨在提供可擴(kuò)展和高效的高性能計算解決方案,以滿足云計算不斷演變的需求。
新聞來源:架構(gòu)師技術(shù)聯(lián)盟
相關(guān)文章