每個人都在談論基于數據處理單元的智能網卡,但沒有回答一個簡單的問題:什么是智能網卡,它們做什么?
NIC 代表網絡接口卡。實際上, NIC 是一種插入服務器或存儲盒以連接到以太網網絡的 PCIe 卡。基于 DPU 的 SmartNIC 超越了簡單的連接,在基礎 NIC 的情況下,在 NIC 上實現了 CPU 必須執行的網絡流量處理。
一些供應商對基于 DPU 的 SmartNIC 的定義完全集中在實現上。這是有問題的,因為不同的供應商有不同的體系結構。因此,基于 DPU 的 SmartNIC 可以是基于 ASIC 、 FPGA 和片上系統的。當然,只生產一種 NIC 的供應商堅持認為,只有其類型的 NIC 才有資格成為 SmartNIC 。
基于 ASIC 的網卡
優異的性價比
供應商開發成本高
可編程和可擴展
靈活性僅限于預定義的功能
基于 FPGA 的 NICs
性能好但價格昂貴
難以編程
特定于工作負載的優化
基于 SoC 的 NIC + CPU
良好的性價比
C 可編程處理器
最高靈活性
最簡單的可編程性
在這些不同的實現之間,在成本、編程的易用性和靈活性方面存在各種權衡。 ASIC 具有成本效益,可能提供最佳性價比,但靈活性有限。基于 ASIC 的 NIC ,如 NVIDIA ConnectX-5,可以具有相對簡單的可編程數據路徑。最終,該功能基于 ASIC 中定義的功能而受到限制。這可能會阻止支持某些工作負載。
相比之下, FPGA NIC (如 NVIDIA Innova-2 Flex)具有高度可編程性。只要有足夠的時間和精力,就可以在可用門的約束范圍內相對高效地支持幾乎任何功能。然而,眾所周知, FPGA 編程困難且價格昂貴。
對于更復雜的用例, SOC (如 Mellanox BlueField DPU – 可編程智能網卡)提供了似乎是最好的基于 DPU 的 SmartNIC 實現選項:良好的性價比、易于編程和高度靈活。
圖 1 SmartNIC 實現比較
專注于特定供應商如何實現基于 DPU 的 SmartNIC ,并沒有說明它能夠實現什么或應該如何構建。 NVIDIA 實際上有基于這些架構的產品,這些架構可以歸類為基于 DPU 的 SmartNIC 。事實上,客戶根據自己的需要,將這些產品用于不同的工作負載。因此,將重點放在實現 ASIC 、 FPGA 和 SoC 上,顛覆了最佳體系結構成就背后的“形式遵循功能”理念。
我沒有把重點放在實現上,而是對PC 雜志百科全書條目進行了調整,給出了一個使 NIC 成為基于 DPU 的 SmartNIC 的工作定義:
基于 DPU 的 SmartNIC :
一種基于 DPU 的網絡接口卡(網絡適配器),用于卸載系統 CPU 通常會處理的處理任務。使用自己的板載處理器,基于 DPU 的 SmartNIC 可以執行加密/解密、防火墻、 TCP / IP 和 HTTP 處理的任意組合。 SmartNIC 非常適合高流量 web 服務器。
這個定義有兩點我喜歡。首先,它關注的是功能而不是形式。其次,它用語句提示這種形式,“…使用自己的板載處理器…執行任何組合的…”網絡處理任務。因此,嵌入式處理器是實現靈活執行幾乎任何網絡功能的關鍵。
您可以通過添加基于 DPU 的智能網卡或許也能執行網絡、存儲或 GPU 虛擬化來現代化該定義。此外, SmartNIC 還非常適合電信、安全、機器學習、軟件定義存儲和超聚合基礎設施服務器,而不僅僅是 web 服務器。
NIC 類別
以下是如何通過網絡適配器可以支持并用于加速不同工作負載的功能來區分三類 NIC :
圖 2 NIC 類別的功能比較
在這里,我根據 NIC 加速特定功能的能力定義了三類 NIC :
基礎 NIC
智能網卡( iNIC )
基于 DPU 的 SmartNIC
基礎 NIC 或基本 NIC 只是移動網絡流量,除了可能的 SRIOV 和基本 TCP 加速之外,很少或沒有卸載。它不保存任何 CPU 周期,也不能卸載數據包控制或流量流。在 NVIDIA ,我們甚至不再銷售基礎 NIC 。
NVIDIA ConnectX 適配器系列具有可編程數據路徑,并加速了一系列功能,這些功能最初在公共云使用案例中變得非常重要。出于這個原因,我將這種類型的 NIC 定義為 iNIC ,盡管今天本地企業、電信和私有云與公共云提供商一樣需要這種類型的可編程性和加速功能。它的另一個名字可能是沒有資本的智能
在許多情況下,客戶告訴我們,他們需要競爭對手提供的基于 DPU 的 SmartNIC 功能,這些功能可以是 FPGA ,也可以是結合定制專有處理引擎的 NIC 。但是,當客戶真正了解其特定工作負載所需的功能時,他們最終會決定, ConnectX 系列 iNICs 提供了其他所謂 SmartNIC 的所有功能、性能和靈活性,而功耗和成本僅為后者的一小部分。因此,根據一些競爭對手使用的 SmartNIC 的定義,我們的 ConnectX NIC 確實是 SmartNIC ,盡管我們 MIG 稱之為智能 NIC 或更智能的 NIC 。我們的 FPGA NIC ( Innova )也是經典意義上的 SmartNIC ,我們的 SoC NIC (使用 BlueField )是 SmartNIC 中最智能的,我們可以稱之為 Genius NIC
那么,什么是 SmartNIC ?基于 DPU 的 SmartNIC 是一種網絡適配器,可加速功能并將其從服務器(或存儲) CPU 中卸載。
您應該如何構建基于 DPU 的 SmartNIC ,以及哪種 SmartNIC 對于每個工作負載來說是最好的……好吧,問題在于細節。深入了解哪些數據路徑和虛擬化加速可用以及如何使用它們非常重要。
關于作者
Kevin Deierling 從 2013 年 3 月開始擔任 Mellanox 的營銷副總裁。此前,他曾擔任 Genia Technologies 的技術副總裁、 Silver Spring Networks 的首席架構師,并在 Spans Logic 負責營銷和業務開發
審核編輯:郭婷
-
NVIDIA
+關注
關注
14文章
4981瀏覽量
102999 -
適配器
+關注
關注
8文章
1952瀏覽量
68004 -
服務器
+關注
關注
12文章
9129瀏覽量
85347
發布評論請先 登錄
相關推薦
評論