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