NVIDIA DOCA 框架旨在簡化 NVIDIA BlueField DPU 和 ConnectX 智能網卡的編程和應用程序開發。它通過 SDK、運行時二進制文件和高級 API 提供與網絡應用程序相關的高級抽象構建塊,使開發者能夠快速創建應用程序和服務。
NVIDIA DOCA Flow 是 DOCA 框架中最新更新的一組軟件驅動程序和一個轉向庫。它在用戶空間中運行,并能夠從 CPU 卸載與網絡相關的操作。這又使得應用程序能夠以低延遲來處理高數據包吞吐量的工作負載,從而節省 CPU 資源并降低功耗。
DOCA Flow 還有效地優化了 BlueField DPU 和 ConnectX 智能網卡的利用率。DOCA 是釋放 BlueField DPU 加速引擎潛力的關鍵,而 DOCA Flow 允許快速訪問加速引擎以實現數據包轉向邏輯。
簡化并加速開發
DOCA Flow 提供 C 語言庫 API,用于定義基于硬件的數據包處理流水線,抽象化了 BlueField DPU 和 ConnectX 智能網卡的硬件功能。這使開發者能夠為數據中心和云網絡構建高性能和可擴展的應用程序,以編程的方式定義和控制網絡流量,實施網絡策略,并有效管理資源。
DOCA Flow 補充并擴展了 DPDK 的核心編程功能,提供了專為 NVIDIA BlueField DPU 和網卡量身定制的額外優化功能。此外,DOCA Flow 還提供了實現基本數據包處理流水線的構建塊,從而簡化了網絡堆棧的復雜性,可用于流行的網絡用例以及更復雜的用例,例如:最長前綴匹配(LPM)、IPsec 加解密,以及創建或修改訪問控制列表(ACL)中的條目。
使用預先創建的網絡構建塊可以讓您專注于創建應用程序,而無需編寫低級的數據包處理例程。這減少了上市時間,并使您能夠專注于應用程序的核心,因為構建塊已經針對性能進行了有效優化。DOCA Flow 構建塊使軟件開發更加簡單,各種經驗級別的開發者都可以使用。
為什么需要 DPU
現代工作負載和軟件定義網絡導致 CPU 核心上產生巨大的網絡開銷。數據中心和云網絡現在的起始速率是 25 或 100 Gbps,并向 200 甚至 400 Gbps 擴展,這需要 CPU 核心以極高的速度處理網絡流量的分類、跟蹤、處理和轉向。
計算虛擬化通過在主機虛擬機和容器之間內部生成更多的東/西流量來增大網絡需求,并增加 Overlay 網絡封裝和為分段來與其他服務器或存儲設備進行外部通信。因此,對 CPU 增加了更多的網絡需求。
CPU 核心成本高昂,并且不太適合高效的網絡數據包處理。高帶寬任務消耗了更多的 CPU 核心,給服務器寶貴的計算基礎設施帶來不必要的壓力,否則這些基礎設施可以更有效地用于租戶工作負載和應用程序數據處理。
相比之下,像智能網卡和 DPU 等專用硬件經過專門設計,可以有效地處理大規模的快速數據移動,與標準 CPU 相比,可以降低功耗、散熱和總體成本。
執行管道
DOCA Flow 庫提供的 API 可以使用 BlueField DPU 和 ConnectX 智能網卡中的硬件功能來構建通用和可重復使用的執行管道,其中每個管道可能包括匹配標準(數據包分類)和一組操作。
分類能夠識別應該應用相應邏輯的傳入數據包,而操作則會有所不同,并實現適合每個數據包分類的邏輯。使用分類和操作作為構建塊為開發硬件加速的網絡應用程序(包括網關、防火墻、負載均衡器等)提供了一種靈活的方法。
如前所述,DOCA Flow 執行管道中的操作各不相同,例如:對 MAC 地址應用網絡地址轉換(NAT)邏輯、更改源或目的地 IP 地址、應用 Overlay 封裝、更改報頭字段、增加計數器以測量流量等數據包操作。操作可能包括通過使用策略監控流量,將流量轉發到不同的隊列——軟件隊列或發夾目標、端口鏡像或數據包采樣以進行調試和合法攔截,以及丟棄數據包以強制執行策略或訪問控制——所有這些都完全卸載到 DPU 或網卡硬件。
管道可以通過從一個管道到另一個管道的轉發操作鏈接在一起,以形成一個完整的轉向樹,其定義了傳入數據包的路徑。在對數據包執行預定義操作之后,數據包可以被轉發到另一個管道以進行進一步的操作或檢查,也可以被轉發到軟件隊列、硬件發夾隊列或者被發送或丟棄。
圖1:管道鏈接構建網絡邏輯,因為每個管道都處理唯一的標準、操作和轉發,從而形成數據包控制的轉向樹
轉向樹
通過實現通用網絡功能邏輯,可以使用轉向樹在 DPU 或網卡上創建基于硬件的網絡應用程序。這使得數據包能夠被有效地分類,從而可以對每個數據包應用適當的操作。使用轉向樹概念提供了多種好處,包括:
為每個數據流定制處理邏輯
將數據包定向到特定操作或目的地的通用性
自適應結構,可根據不斷變化的條件輕松調整大小
靈活的框架,允許添加新的管道類型,以滿足不斷發展的需求
優化資源使用,最大限度地減少冗余,實現共享匹配和操作
NVIDIA DOCA Flow 用例
在為 BlueField DPU 和 ConnectX 智能網卡開發網絡流水線時,DOCA Flow 是簡化應用程序開發工作的基本要素。用例適用于企業數據中心、電信和云環境,尤其是那些專注于需要高效數據包處理的網絡基礎設施和安全的環境。
此外,它被設計用于處理涉及以極高的速率建立和刪除流水線的場景,并且每秒可以管理數百萬個數據包交換。其適用于軟件定義網絡應用程序、數據分析、虛擬交換、人工智能推理、網絡安全和其他數據包處理應用程序。它支持基于預定策略或其他標準的接收、檢查報文頭和有效負載、跟蹤連接以及檢查、重新路由、復制或丟棄數據包之類的操作。
Open vSwitch 虛擬交換機
Open vSwitch(OVS)通過編程擴展實現了大規模的網絡自動化,旨在實現虛擬機(VM)和容器等虛擬化環境中的高效網絡交換。通過 DOCA Flow,可以在用戶空間數據平面中實現 DPU 加速虛擬交換機(vSwitch),允許任何配備 DPU 的服務器充當網絡交換機、路由器或有狀態負載均衡器。
這不僅提供了將 vSwitch 用于多個 VNF 的靈活性,同時也顯著提高了小數據包吞吐量并降低了延遲,從而通過增強 DPU 的網絡性能來加速通信,并助力連接用戶的南北流量,以及 AI 和分布式應用程序的東西流量。
下一代防火墻
現代防火墻需要以更高的速率檢查數據,以應對新的威脅。然而,隨著網絡速度的提高,CPU 上的負載會增加。這可能導致延遲增加、數據包丟失和網絡吞吐量降低。要在不犧牲延遲的情況下支持更高的速度和更嚴格的安全要求是非常復雜的,并且部署足夠多的傳統防火墻來處理增加的流量是成本高昂的。
DOCA Flow 支持為每臺托管 DPU 的服務器開發智能網絡過濾器。借助此過濾器,流量的解析和轉向將基于預定義的策略,且不會產生 CPU 開銷。它可以用于創建分布式下一代防火墻(NGFW),通過使用 DPU 上的專用加速器和 Arm 核心來根據適當流過濾和轉發數據包,以及管理 NGFW 的數據平面卸載和控制平面,每臺服務器可以實現接近 100Gbps 的吞吐量。
使用 DOCA Flow 可以提供一種經濟高效的解決方案,將數據包處理從 CPU 卸載到 DPU,以超越傳統硬件解決方案的方式提高性能并降低成本。它在不犧牲服務器性能的情況下提供了高級安全功能,如入侵防御。它還可以在網卡/ DPU 中實現更快的網絡流量檢查。
虛擬網絡功能
DOCA Flow 可以加速虛擬化網絡功能(VNF),如路由器、負載均衡器、防火墻、內容交付網絡(CDN)服務等。電信供應商可以通過開發在 BlueField DPU 上運行的 VNF 來替換專有硬件,并在商用服務器上執行虛擬化工作負載。
通過使用 DPU 進行 VNF 加速,實現了更高效、更靈活的解決方案,與商用服務器相比,減少了設備、空間、散熱和電力需求。所有這些都有助于解決基于冷卻和空間的限制,為 5G、人工智能、物聯網和邊緣計算帶來新的機遇。
邊緣應用程序
DOCA Flow 是需要高網絡速度和 I/O 處理能力的邊緣工作負載的理想解決方案,例如內容交付網絡和視頻分析系統。邊緣的主機應用程序可以使用 DOCA Flow 進行設計,在安裝在通用服務器中的 DPU 上運行,從而消除了對昂貴的專有硬件設備的需求。通過使用 DPU 加速和 Arm 核心,需要更少的服務器 CPU 核心,從而允許使用更少量的服務器,且需要更少的能量消耗、更少的冷卻和更少的機架空間占用。這種方法在資本支出和運營支出方面都能節省成本。
總結
DOCA Flow 庫可以簡化現代應用程序的開發,在數據包處理中提供加速的網絡吞吐量和延遲改進,從而為開發者提供幫助。對于用商用現貨(COTS)服務器平臺上托管的虛擬化應用程序取代專有裸機硬件解決方案的應用程序來說尤其如此。
該庫由幾個用于高效網絡卸載的構建塊組成,包括實現基本的數據包處理流水線、最長前綴匹配(LPM)和互聯網協議安全(IPsec)的加解密。不久將在連接跟蹤(CT)和訪問控制列表(ACL)中添加增強功能,以創建或修改訪問控制條目。有關 DOCA Flow 參考應用程序的示例,請參閱 DOCA Reference Applications 文檔。
通過利用 DOCA Flow 的功能,組織可以在需要高吞吐量和低延遲的用例中最大限度地降低成本、加快服務部署并優化硬件利用率。
審核編輯:劉清
-
NVIDIA技術
+關注
關注
0文章
17瀏覽量
6275 -
交換機
+關注
關注
21文章
2640瀏覽量
99647 -
計數器
+關注
關注
32文章
2256瀏覽量
94576 -
DPU
+關注
關注
0文章
358瀏覽量
24182 -
加解密
+關注
關注
0文章
18瀏覽量
6520
原文標題:利用 NVIDIA DOCA Flow 實現 DPU 加速數據包轉向邏輯
文章出處:【微信號:Leadtek,微信公眾號:麗臺科技】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論