這篇文章最初發表在 Mellanox 博客上。
在 2018 年紅帽峰會上, NVIDIA Mellanox 宣布推出 開放網絡功能虛擬化基礎設施( NFVI )和云數據中心解決方案 。該解決方案將 Red Hat Enterprise Linux 云軟件與 NVIDIA Mellanox NIC 硬件的機箱內支持相結合。我們與 Red Hat 的密切合作和聯合驗證產生了一個完全集成的解決方案,它提供了高性能和高效率,并且易于部署。該解決方案包括開源數據路徑加速技術,包括數據平面開發工具包( 數據平面開發套件 , DPDK )和 Open vSwitch ( OvS )加速。

私有云和通信服務提供商正在改造其基礎設施,以實現超規模公共云提供商的靈活性和效率。這種轉變基于兩個基本原則:分解和虛擬化。
分解將網絡軟件與底層硬件分離。服務器和網絡虛擬化通過使用 hypervisor 和 overlay 網絡共享行業標準服務器和網絡設備來提高效率。這些顛覆性功能提供了靈活性、靈活性和軟件可編程性等好處。然而,由于基于內核的 hypervisor 和虛擬交換,它們也會對網絡性能造成嚴重的影響,這兩種方法都無法有效地消耗主機 CPU 周期進行網絡數據包處理。為解決網絡性能下降而過度配置 CPU 核心會導致較高的資本支出,從而使通過服務器虛擬化獲得硬件效率的目標落空。
為了應對這些挑戰, Red Hat 和 NVIDIA Mellanox 向市場推出了一款高效、硬件加速、緊密集成的 NFVI 和云數據中心解決方案,該解決方案將 Red Hat Enterprise Linux 操作系統與運行 DPDK 的 NVIDIA Mellanox ConnectX-5 網絡適配器以及加速交換和數據包處理( ASAP )相結合2) OvS 卸載技術。
ASAP2OvS 卸載加速
OvS 硬件卸載解決方案將基于軟件的緩慢虛擬交換機數據包性能提高一個數量級。從本質上講, OvS 硬件卸載提供了兩個方面的最佳選擇:數據路徑的硬件加速以及未經修改的 OvS 控制路徑,以實現匹配操作規則的靈活性和編程。 NVIDIA Mellanox 是這一突破性技術的先驅,在 OvS 、 Linux 內核、 DPDK 和 OpenStack 開源社區中引領了支持這一創新所需的開放架構。

圖 1 顯示了 NVIDIA Mellanox open ASAP 2 OvS 卸載技術。它完全透明地將虛擬交換機和路由器數據路徑處理卸載到 NIC 嵌入式交換機( e-switch )。 NVIDIA Mellanox 為核心框架和 API (如 tcflower )的上游開發做出了貢獻,使它們可以在 Linux 內核和 OvS 版本中使用。這些 api 極大地加速了網絡功能,如覆蓋、交換、路由、安全和負載平衡。
正如在 Red Hat 實驗室進行的性能測試所證實的, NVIDIA Mellanox ASAP2該技術為大型虛擬可擴展局域網( VXLAN )數據包提供了接近 100g 的線速率吞吐量,而不消耗任何 CPU 周期。對于小包裹,ASAP2將 OvS VXLAN 數據包速率提高了 10 倍,從使用 12 個 CPU 內核的每秒 500 萬個數據包提高到每秒消耗 0 個 CPU 核的 5500 萬個數據包。
云通信服務提供商和企業可以盡快實現基礎設施的總體效率2– 基于的高性能解決方案,同時釋放 CPU 內核,以便在同一服務器上打包更多虛擬網絡功能( vnf )和云本地應用程序。這有助于減少服務器占用空間并節省大量的資本支出。ASAP2已從 OSP13 和 RHEL7 . 5 作為技術預覽版提供,從 OSP16 . 1 和 RHEL8 . 2 開始正式提供。
OVS-DPDK 加速
如果您想保持現有較慢的 OvS virtio 數據路徑,但仍然需要一些加速,可以使用 NVIDIA Mellanox DPDK 解決方案來提高 OvS 性能。圖 2 顯示了 OvS over DPDK 解決方案使用 DPDK 軟件庫和輪詢模式驅動程序( PMD ),以消耗 CPU 核心為代價,顯著提高了數據包速率。

使用開源 DPDK 技術, NVIDIA Mellanox ConnectX-5 NIC 提供業界最佳的裸機數據包速率,即每秒 1 . 39 億個數據包,用于在 DPDK 上運行 OvS 、 VNF 或云應用程序。 RHEL7 . 5 完全支持 Red Hat –
網絡架構師在選擇適合其 IT 基礎設施需求的最佳技術時經常面臨許多選擇。在決定是否 ASAP2 而 DPDK ,由于 ASAP 的巨大優勢,決策變得更加容易2技術超過 DPDK 。
由于 SR-IOV 數據路徑,與ASAP2和使用傳統的較慢 virtio 數據路徑的 DPDK 相比, OvS 卸載實現了顯著更高的性能。進一步,ASAP2通過將流卸載到 NIC 來節省 CPU 核心,在 NIC 中 DPDK 消耗 CPU 核心以次優方式處理數據包。像 DPDK 一樣,ASAP2OvS offload 是一種開源技術,在開源社區中得到了充分的支持,并在業界得到了廣泛的采用。
摘要
NVIDIA Mellanox 是一家開放式網絡公司,是 Linux 內核社區十大貢獻者之一。通過我們的尖端 NIC 技術,以及與開放軟件領導者(如 Red Hat )的聯合創新,我們消除了部署現代云 DC 和 NFV 解決方案相關的性能障礙。這些突破性的性能數字是在不犧牲寶貴的服務器資源或易于部署的情況下實現的。 NVIDIA Mellanox ConnectX 系列以太網適配器的智能和并行流處理能力為寶貴的 CPU 和內存資源帶來了最小的負擔,使 NFV 平臺能夠完成它們應該做的事情:網絡服務和應用程序處理,而不是處理數據包 I / O 。
有關更多信息,請參閱以下資源:
- Mellanox ConnectX-5 網卡
- 含 Mellanox 的 DPDK (視頻)
- 加速交換和分組處理 (視頻)