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