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