當一項創(chuàng)新顛覆了市場時,它便會得到市場的認可
網(wǎng)卡( NIC )自 20 世紀 80 年代便已出現(xiàn),到本世紀初,許多公司開始投身該領(lǐng)域進行創(chuàng)新。他們最初的重點是高性能計算( HPC )。盡管業(yè)務(wù)都在以太網(wǎng)上運行,但是,最強大的 HPC 集群是使用 Myrinet 或 Infiniband 創(chuàng)建的。這些網(wǎng)絡(luò)的網(wǎng)卡被設(shè)計為可以繞過操作系統(tǒng)( OS )內(nèi)核,直接與 HPC 應(yīng)用通信,從而顯著提升性能。為了實現(xiàn)這一點,這些網(wǎng)卡在網(wǎng)絡(luò)邊緣應(yīng)用了廣泛的計算資源,使其能夠從主機 CPU 上卸載常見通信任務(wù)。
這些HPC 網(wǎng)卡為后來的以太網(wǎng)網(wǎng)卡奠定了基礎(chǔ),后者內(nèi)置內(nèi)核旁路,適用于全球所有股票市場的電子交易。隨著時間推移,這些平臺進一步演進為 SmartNIC (智能網(wǎng)卡)或數(shù)據(jù)處理單元( DPU )。伴隨超大規(guī)模用戶( Hyperscaler )和云服務(wù)提供商( CSP )的出現(xiàn),賽靈思發(fā)現(xiàn)了阻礙 SmartNIC 普及的三大因素:
1.可編程性
2.可組合性
3.可移植性
賽靈思提供了一種軟件定義、硬件加速平臺的方法,可以高效解決這三大問題。
可編程性
過去十年里,人們做了各種嘗試來為 SmartNIC 提供一個完全可編程的接口,但沒有一種取得絕對成功。同時,該行業(yè)缺乏標準化語言和業(yè)經(jīng)驗證的軟件開發(fā)及部署環(huán)境。幾年前,賽靈思成為 P4 語言聯(lián)盟的活躍成員,作為工業(yè)貢獻者,開發(fā)了一種跨多類硬件管理網(wǎng)絡(luò)數(shù)據(jù)包的語言。P4 語言迅速發(fā)展起來,如今大部分 SmartNIC 和 DPU 都將其用作默認編程語言。賽靈思全新 SN1000 SmartNIC 系列中所有獨特的邏輯塊都是用 P4 編寫的。
可組合性
超大規(guī)模用戶和 CSP 的第二個要求是可組合性。這是一種將新功能塊動態(tài)插入到收發(fā)包處理流水線中的功能。這兩條直接管理網(wǎng)絡(luò)數(shù)據(jù)包的流水線構(gòu)成了 SmartNIC 的數(shù)據(jù)平面。網(wǎng)卡上的第二個平面稱為控制平面,作用是管理數(shù)據(jù)平面內(nèi)的可編程塊。如上所示,賽靈思充分利用了我們在可編程邏輯方面的領(lǐng)先優(yōu)勢,設(shè)計出一款完全可組合的網(wǎng)卡架構(gòu)。
構(gòu)成數(shù)據(jù)平面的收發(fā)流水線都有數(shù)個可編程入口點,客戶可以在這些入口點上使用我們的 Vitis 軟件開發(fā)平臺連接其使用 P4、C/C++、HDL 或 HLS 編寫的代碼塊。然后,Vitis 會將此代碼編譯成邏輯,幫助工程師在適當?shù)臄?shù)據(jù)包處理流水線中插入他們認為合適的模塊。這可以讓數(shù)據(jù)包以極快的速度通過數(shù)據(jù)平面,從而使賽靈思能夠支持線速包處理。
其他未在其數(shù)據(jù)平面中使用可編程邏輯的供應(yīng)商,必須在其 DPU 上部署大量典型的 CPU 核(通常為 Arm)來處理這些網(wǎng)絡(luò)數(shù)據(jù)包。隨著數(shù)據(jù)包速率攀升至每秒數(shù)億個數(shù)據(jù)包,這種方法(使用 DPU 上的 CPU 核來處理數(shù)據(jù)平面上的數(shù)據(jù)包)將受到影響。我們的軟件定義、硬件加速的方法將令賽靈思的 SN1000 系列明顯優(yōu)于競爭對手。
大型數(shù)據(jù)中心客戶(如超大規(guī)模用戶和 CSP)通常會要求供應(yīng)商展示其產(chǎn)品路線圖。該路線圖將向客戶展示供應(yīng)商對其架構(gòu)的承諾,以及在未來幾代中推進該架構(gòu)的計劃。通常需要每一代都是新款芯片,在先前芯片的基礎(chǔ)上有所改進。
可移植性
多年前,Solarflare 開始開發(fā)一種用 P4 編寫的完全可移植的 SoftNIC 架構(gòu),本次成果最終被賽靈思收購。SoftNIC 是一種將所有核心 NIC 功能全部表示為代碼的網(wǎng)卡,使得 NIC 可以在 FPGA硬件平臺之間輕松移植。SoftNIC 利用直接存儲器訪問( DMA )引擎等標準硬件塊與主機 CPU 進行通信,利用可以具有特定的芯片幾何結(jié)構(gòu)且通常使用了加密塊的介質(zhì)訪問控制( MAC )塊進行以太網(wǎng)通信。最終結(jié)果是,SoftNIC 的漏洞和新增功能無需創(chuàng)建新的芯片,客戶只需安裝軟件更新即可。
構(gòu)成 SN1000 可移植網(wǎng)卡架構(gòu)的各種重要組件是 DMA 引擎、加密、MAC 塊、虛擬化網(wǎng)卡 ( VNIC )和匹配操作引擎( MAE )的接口。VNIC 不僅是傳統(tǒng) OS 設(shè)備驅(qū)動程序查看網(wǎng)卡的方式,還可以處理校驗和卸載及數(shù)據(jù)包控制。收發(fā)流水線中的 MAE 是處理虛擬網(wǎng)絡(luò)請求的地方。在這里,Open vSwitch ( OvS )函數(shù)可用于管理主機上運行的虛擬機和容器的流量。MAE 可以顯著減輕主機 CPU 處理 OS 或程序管理器網(wǎng)絡(luò)調(diào)用的負擔,有時會為 CSP 工作負載返回多達 30% 的主機 CPU 周期。MAE 的設(shè)計旨在輕松與 tc-flower 和 DPDK 通用流 API (rte_flow)進行連接,以便處理這些函數(shù)。插件入口點、VNIC、MAE 和 NET 引擎均是用軟件編寫并編譯到邏輯門中。這就是賽靈思所謂的軟件定義和硬件加速。
隨著 SN1000 SmartNIC 的發(fā)布,賽靈思將提供幾個可選的插件模塊,在接下來的幾個月還將提供更多模塊。借助 SN1000,賽靈思展示了首個完全可組合且可移植的 SmartNIC,這是我們身處業(yè)屆競爭最激烈的領(lǐng)域之一而帶來的一項重大創(chuàng)新。
審核編輯 :李倩
-
FPGA
+關(guān)注
關(guān)注
1630文章
21779瀏覽量
604904 -
cpu
+關(guān)注
關(guān)注
68文章
10896瀏覽量
212520 -
編程語言
+關(guān)注
關(guān)注
10文章
1949瀏覽量
34869
原文標題:解決三大痛點,加速SmartNIC普及
文章出處:【微信號:zhuyandz,微信公眾號:FPGA之家】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論