智能手機(jī)似乎迎來(lái)了“智能”化的時(shí)代,并掀起了物聯(lián)網(wǎng)(IoT)革命。那么,是什么讓 SmartNIC 實(shí)現(xiàn)了智能化?是硬件、編程還是其他什么?
網(wǎng)絡(luò)接口卡(NIC)自 20 世紀(jì) 80 年代中期第一臺(tái) PC 推出后不久便開始投放市場(chǎng),但我們?cè)谶^去的幾年里才看到 SmartNIC 的出現(xiàn)。這一市場(chǎng)上的每家公司對(duì) SmartNIC 產(chǎn)品的細(xì)分市場(chǎng)都有著不同定義。最基本的定義就如同一個(gè)可編程的 NIC 一樣簡(jiǎn)單。
反之,其他公司則通過在其實(shí)現(xiàn)方案中使用大量芯片和固件來(lái)使這一概念復(fù)雜化。不過,歸根結(jié)底,通常人們會(huì)將其定義成一個(gè) NIC,它包括向客戶開放額外的可用計(jì)算資源,以及利用這些資源所必需的開源工具。
智能手機(jī)剛剛問世時(shí),許多人都已經(jīng)擁有手機(jī)。然而十年后,幾乎所有人的手機(jī)都是智能手機(jī)。為什么會(huì)這樣?這并不是因?yàn)槿藗兌紖捑肓恕敦澇陨摺?,想換成《糖果粉碎傳奇》玩一玩。他們看到了一個(gè)集手機(jī)、相機(jī)和移動(dòng)計(jì)算功能為一體的平臺(tái)所能帶來(lái)的價(jià)值,在這個(gè)平臺(tái)上,他們可以管理社交媒體、通過電子郵件與辦公室保持聯(lián)系,以及做許多十年前未曾想過的事情。絕大多數(shù)智能手機(jī)用戶永遠(yuǎn)都不會(huì)編寫任何一行代碼,而他們也不必這樣做,因?yàn)閼?yīng)用商店里早已有上千萬(wàn)的應(yīng)用可供他們選擇。
從服務(wù)器 NIC 發(fā)展為 SmartNIC 會(huì)遵循相似的路線,但是過程更為短暫。如果 SmartNIC 僅僅只能傳遞數(shù)據(jù)包而無(wú)法進(jìn)行其他操作,那就毫無(wú)意義。而如果要使其成為一個(gè) SmartNIC,就需要未經(jīng)分配的額外計(jì)算資源,并且需要分配代碼空間來(lái)充分利用這些資源。
2002 年,3Com 推出了一款帶有防火墻的 10/100Mbps 以太網(wǎng) NIC。它使用3Com 的 3XP 處理器,并配備額外的存儲(chǔ)器來(lái)完成這項(xiàng)任務(wù)。這已經(jīng)是近 20 年前的事情,現(xiàn)在千兆位以太網(wǎng)已經(jīng)開始得到廣泛應(yīng)用。盡管如此,如果處理器和存儲(chǔ)器都完全用于防火墻應(yīng)用,那它就是一個(gè)專用的安全產(chǎn)品,而非一個(gè) SmartNIC。如果 3Com 開放了編程接口并出售無(wú)防火墻的版本,它們本應(yīng)成為最早的 SmartNIC。他們本該提前二十年就開啟 SmartNIC 時(shí)代,當(dāng)時(shí) 10/100M 網(wǎng)絡(luò)已處于應(yīng)用曲線的衰落期,絕不應(yīng)該在這個(gè)門類上推出新產(chǎn)品。最后,3XP 作為處理器的處理能力太低,無(wú)法應(yīng)對(duì) 1GbE,因此在速度達(dá)到 1GbE 時(shí)棄用 3XP 是正確的做法。如今,數(shù)據(jù)中心 NIC 廣泛采用 25GbE,甚至進(jìn)一步擴(kuò)展到 100GbE。
當(dāng)今數(shù)據(jù)中心的網(wǎng)絡(luò)容量為 25GbE,并迅速發(fā)展到 50GbE 和 100GbE,因此需要認(rèn)真考慮 SmartNIC 上的其他計(jì)算資源。傳統(tǒng)觀點(diǎn)認(rèn)為,應(yīng)保留諸如 ARM 這樣的傳統(tǒng) CPU 核用于控制平面管理,并在極少數(shù)情況下保留異常流處理??刂破矫婀芾砭腿缤?ARM CPU 核,可以造就優(yōu)秀的警官,但只能造就糟糕的交警。目前,數(shù)據(jù)中心 NIC 每秒可處理數(shù)百萬(wàn)甚至超過一億個(gè)網(wǎng)絡(luò)數(shù)據(jù)包。ARM CPU 核,即便是頻率為 3Ghz 的內(nèi)核,都無(wú)法勝任每秒對(duì)數(shù)百萬(wàn)個(gè)數(shù)據(jù)包進(jìn)行檢查與處理。因?yàn)樗棵霙]有足夠的指令來(lái)與這些數(shù)據(jù)保持同步。業(yè)界需要采用特定用途的計(jì)算資源來(lái)處理這些數(shù)據(jù),如專用網(wǎng)絡(luò)處理器、現(xiàn)場(chǎng)可編程門陣列( FPGA )或 GPU 核等。
在這一領(lǐng)域,F(xiàn)PGA 作為可編程邏輯的特性使其最適合這項(xiàng)任務(wù)。FPGA 可以被配置用于快速解析網(wǎng)絡(luò)數(shù)據(jù)包報(bào)頭,甚至是分析正文,然后從丟棄的數(shù)據(jù)包中采取必要操作,進(jìn)行封裝或完全以線速更改內(nèi)容。賽靈思 Alveo U25 加速器卡就是基于 FPGA 的 SmartNIC 的一個(gè)絕佳例子,它還同時(shí)包括 ARM 組合體及網(wǎng)絡(luò)處理器。因此,盡管某些 SmartNIC 聲稱它們能利用 ARM CPU 核處理數(shù)據(jù)流,但是潛在的數(shù)據(jù)量并進(jìn)行計(jì)算仍應(yīng)考慮在內(nèi)。
接下來(lái)的主要問題是如何讓 SmartNIC 的編程接口公開提供。如上所述,智能手機(jī)取得成功的關(guān)鍵在于其應(yīng)用的可用性。Myricom 首次亮相是其 Myrinet 10G 系列網(wǎng)絡(luò)產(chǎn)品在超級(jí)計(jì)算 2005 大會(huì)上公開亮相,其第一代 10GbE 產(chǎn)品就可稱為 SmartNIC。當(dāng)時(shí),為 Myricom 的 NIC 提供動(dòng)力支持的 Lanai10G 芯片曾是一個(gè)網(wǎng)絡(luò)處理器,其 FLASH 中的固件空間用于編程,而高速 SDRAM 則用于數(shù)據(jù)存儲(chǔ)。Myri-10G NIC 可支持三種工作模式:10G 以太網(wǎng)、Myrinet-10G 或基于以太網(wǎng)的 Myrinet Express ( MXoE )。在接下來(lái)的幾年中,固件被加入以支持線速捕獲、存儲(chǔ)包加速和交易加速。這與我們對(duì) SmartNIC 定義并不相符,因?yàn)榫幊汰h(huán)境從未公開供外部采用。Myricom 對(duì)此有眾多正當(dāng)解釋,比如,它是一種類似于“C”的語(yǔ)言,很難編寫,甚至更難調(diào)試。然而,這些原因都已不再重要。
有人可能會(huì)說,Tilera 的產(chǎn)品是第一款高性能的 SmartNIC,但是這種說法也不成立,因?yàn)樗麄兙芙^公開提供編程接口和工具。2013 年春季,Tilera(后來(lái)成為 Mellanox Bluefield)堅(jiān)定要求對(duì)訪問其 SmartNIC 編程環(huán)境以及了解如何使用所需的相關(guān)課程進(jìn)行收費(fèi)。因此,它的采用率極低,應(yīng)用開發(fā)也受到影響,市場(chǎng)接受度更近乎為零。一個(gè)向開發(fā)者收取訪問費(fèi)用的硬件平臺(tái)充其量只能取得有限的成功。隨著開源軟件和 GitHub 等資源庫(kù)的廣泛采用,開發(fā)者期待這些工具能夠免費(fèi)使用。
最后,為了使 SmartNIC 取得巨大成功,他們需要一個(gè)用于 SmartNIC 應(yīng)用的集中資源庫(kù),也就是一個(gè) App Store (指應(yīng)用商店)。獨(dú)立的第三方應(yīng)用開發(fā)者可以在其中提交他們的代碼,并在安裝或執(zhí)行代碼時(shí)獲得相應(yīng)報(bào)酬。然后編目、發(fā)布并推向市場(chǎng)。如果沒有應(yīng)用商店,用戶只能從 NIC 提供商處購(gòu)買應(yīng)用,或從第三方供應(yīng)商處搜尋并購(gòu)買應(yīng)用。試想一下,如果您必須從第三方網(wǎng)站購(gòu)買智能手機(jī)的每一款應(yīng)用,那么這種模式并不能算得上有多成功。我們已看到博通、英特爾、邁絡(luò)思和賽靈思等公司開發(fā)的新一代 SmartNIC,而這些產(chǎn)品都可以充分利用廣泛的計(jì)算資源。這些公司終于迎頭趕上,為其環(huán)境發(fā)布編程工具,而第三方也正開始為他們的平臺(tái)進(jìn)行編程。
作者介紹 姓名:Scott Schweitzer職位:賽靈思技術(shù)布道者個(gè)人簡(jiǎn)介:自從當(dāng)年通過 TRS-80 計(jì)算機(jī)入門編程的世界,Scott 便成為了一名忠實(shí)的科技信徒。他曾為 IBM、NEC、Solarflare 以及現(xiàn)在的賽靈思編寫過產(chǎn)品級(jí)的軟件產(chǎn)品,構(gòu)建過硬件產(chǎn)品,并擔(dān)任過程序管理職務(wù)。在從事單插槽計(jì)算平臺(tái)工作 20 年后,Scott 于 2003 年加入 NEC,管理其新推出的英特爾安騰(Itanium)多核 64 位超級(jí)計(jì)算服務(wù)器。自此,他一直都在該領(lǐng)域繼續(xù)深耕。 2005 年,Scott 開始重點(diǎn)研究超級(jí)計(jì)算與超高性能聯(lián)網(wǎng)聚類這兩大領(lǐng)域。隨著 10GbE 的普及,他推出了廣受歡迎的 10GbE.net 博客。在 2017 年市場(chǎng)風(fēng)云變幻之際,Scott 將 10GbE.net 打造成了一個(gè)每月?lián)碛袛?shù)千次頁(yè)面瀏覽量的技術(shù)傳播博客,同時(shí)還附帶一個(gè)播客。Scott 在賽靈思的職責(zé)是與合作伙伴一起探尋新的加速機(jī)遇并定義創(chuàng)新解決方案。
原文標(biāo)題:是什么讓 SmartNIC 實(shí)現(xiàn)了智能化?
文章出處:【微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
-
智能手機(jī)
+關(guān)注
關(guān)注
66文章
18372瀏覽量
179521 -
SMART
+關(guān)注
關(guān)注
3文章
222瀏覽量
44628 -
智能化
+關(guān)注
關(guān)注
15文章
4748瀏覽量
55117
原文標(biāo)題:是什么讓 SmartNIC 實(shí)現(xiàn)了智能化?
文章出處:【微信號(hào):FPGA-EETrend,微信公眾號(hào):FPGA開發(fā)圈】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論