據(jù)報(bào)道,英偉達(dá)正在接近以70億美金的價(jià)格收購(gòu)以色列芯片制造商Mellanox Technologies Ltd,若交易達(dá)成,將是英偉達(dá)有史以來(lái)最大規(guī)模的一起收購(gòu),并將加強(qiáng)其數(shù)據(jù)中心芯片業(yè)務(wù),使其減少對(duì)視頻游戲行業(yè)的依賴。知情人士稱,英偉達(dá)對(duì)該公司的收購(gòu)報(bào)價(jià)超過(guò)了英特爾,雙方最早可能于周一宣布達(dá)成交易。
加上之前的英特爾、微軟和賽靈思,迄今為止已經(jīng)有四家公司都對(duì)Mellanox虎視眈眈,這是為什么呢?
下文是對(duì)Mellanox的成功和高端網(wǎng)絡(luò)的增長(zhǎng)的評(píng)論。讓大家對(duì)這家倍受青睞的公司有更深入的了解。
Mellanox Technologies已成為領(lǐng)先的網(wǎng)絡(luò)硬件供應(yīng)商,特別是在高性能市場(chǎng),根據(jù)Crehan Research的數(shù)據(jù),該公司在速度高于10 GB/sec的以太網(wǎng)端口中占有70%以上的份額。
在以太網(wǎng)的性能水平達(dá)到10 Gb/s或更高時(shí),為網(wǎng)絡(luò)接口提供服務(wù)所需的處理開銷開始成為問(wèn)題——現(xiàn)代數(shù)據(jù)中心網(wǎng)絡(luò)日益復(fù)雜,可能包括對(duì)性能加速技術(shù)、虛擬化和重疊網(wǎng)絡(luò)的支持,這加劇了這一問(wèn)題。一種解決方案是將部分處理任務(wù)卸載到網(wǎng)絡(luò)接口控制器(NIC),這是Mellanox近年來(lái)進(jìn)行了大量開發(fā)的一個(gè)領(lǐng)域。
卸載功能并不是一個(gè)全新的想法,但隨著以大型云服務(wù)提供商為首的數(shù)據(jù)中心運(yùn)營(yíng)商開始采用軟件定義網(wǎng)絡(luò)(SDN),使更改和管理網(wǎng)絡(luò)的工作變得更容易、成本更低,卸載功能已呈現(xiàn)出一個(gè)新的維度。
SDN尤其要求NIC變得更智能,以便能夠根據(jù)需要重新配置它,從而支持新的功能或協(xié)議。這導(dǎo)致了一系列名為“SmartNIC”的設(shè)備的出現(xiàn)。
顯然,與標(biāo)準(zhǔn)的基本NIC相比,SmartNIC必須提供更多的網(wǎng)絡(luò)處理功能和智能。但是,帶有卸載硬件的整個(gè)NIC領(lǐng)域尚未得到精確定義,這意味著必須支持哪些功能才能將設(shè)備作為“SmartNIC”進(jìn)行銷售尚不存在普遍接受的定義。
如果我們看看Mellanox以及它如何對(duì)這個(gè)領(lǐng)域進(jìn)行分類,我們可以看到25 GB/秒和50 GB/秒以太網(wǎng)支持、無(wú)狀態(tài)TCP/IP加速和SR-IOV等被視為現(xiàn)代數(shù)據(jù)中心中任何NIC都應(yīng)該支持的標(biāo)準(zhǔn)功能。Mellanox將此類NIC視為基礎(chǔ)設(shè)備,這些設(shè)備缺乏真正的能力來(lái)卸載來(lái)自主機(jī)處理器的數(shù)據(jù)包控制或流量。
從這里開始,使用可編程數(shù)據(jù)平面的設(shè)備可以根據(jù)需要更新或更改它們?cè)谟布屑铀俚臄?shù)據(jù)包交換規(guī)則和數(shù)據(jù)處理協(xié)議,而不是像在傳統(tǒng)網(wǎng)絡(luò)硬件中那樣一成不變。它們還應(yīng)該能夠加速云數(shù)據(jù)中心中常見的一系列功能,比如確保服務(wù)質(zhì)量水平、流報(bào)告和監(jiān)控。Mellanox正在尋求這些智能NIC。
功能最強(qiáng)大的NIC是那些用于從主處理器卸載大量功能的NIC。除了前面提到的數(shù)據(jù)平面功能和其他功能外,還包括控制平面函數(shù)(如在虛擬交換機(jī)中找到的那些)和網(wǎng)絡(luò)功能虛擬化(NFV)。關(guān)鍵是提供高性能和靈活的數(shù)據(jù)處理能力。這些設(shè)備被普遍認(rèn)為是SmartNIC。
在這里,值得一看的是如何在所謂SmartNIC設(shè)備中實(shí)現(xiàn)網(wǎng)絡(luò)功能的加速。在大多數(shù)情況下,它們可以分為三類:基于特定應(yīng)用集成電路(ASIC)的,具有現(xiàn)場(chǎng)可編程門陣列(FPGA)功能的,以及使用集成了一個(gè)或多個(gè)CPU和標(biāo)準(zhǔn)NIC功能的片上系統(tǒng)(SoC)構(gòu)建的。
對(duì)于那些想要使用硬件卸載的人來(lái)說(shuō),哪一種更優(yōu)越呢?每一種選擇都有利弊,這意味著選擇可以在成本、實(shí)施的便利性和靈活性等考慮因素之間進(jìn)行權(quán)衡。換句話說(shuō),沒有簡(jiǎn)單的“正確”答案來(lái)決定哪個(gè)是“最好的”,因?yàn)檫@完全取決于實(shí)現(xiàn)的特定需求。
ASIC是一種經(jīng)過(guò)試驗(yàn)和測(cè)試的加速特定功能的方法,通常以相對(duì)較低的額外成本提供高水平的性能。然而,它們的靈活性相對(duì)有限,這主要是基于芯片在制造過(guò)程中內(nèi)置的功能。Mellanox使用可編程數(shù)據(jù)平面設(shè)計(jì)其適配器ASIC,因此數(shù)據(jù)包交換規(guī)則和路由可以在硬件中加速并按需更新,但網(wǎng)絡(luò)控制平面仍必須在服務(wù)器的CPU或單獨(dú)的網(wǎng)絡(luò)控制器設(shè)備上運(yùn)行。
另一種方法是使用FPGA,F(xiàn)PGA提供了良好的性能,并且可以在部署后重新配置其的邏輯塊來(lái)支持新功能。此處的挑戰(zhàn)是,F(xiàn)GPA不一定是最容易編程的東西,這一過(guò)程實(shí)際上涉及到定義邏輯電路和芯片門并將其燒錄到FPGA中——每當(dāng)需要更改時(shí),這可能是一個(gè)相對(duì)昂貴且耗時(shí)的過(guò)程。此外,與可執(zhí)行相同任務(wù)的專用ASIC邏輯相比,F(xiàn)PGA價(jià)格昂貴。
SoC方法提供了最大的靈活性,因?yàn)樗鼈儗⒁呀?jīng)智能的NIC與行業(yè)標(biāo)準(zhǔn)的可編程處理器內(nèi)核集成在一起,并運(yùn)行標(biāo)準(zhǔn)的操作系統(tǒng)和應(yīng)用程序基礎(chǔ)設(shè)施程序。CPU核心可以根據(jù)需要通過(guò)附加功能輕松地重新編程,并可用于執(zhí)行網(wǎng)絡(luò)處理任務(wù)的任意組合。這意味著SoC可以從主機(jī)服務(wù)器卸載大部分網(wǎng)絡(luò)處理,從而允許它將更多的CPU周期用于運(yùn)行應(yīng)用程序和服務(wù),這畢竟是云提供商賺錢的地方。
其中一些SOC(例如Mellanox BlueField)既包括基于ASIC的分組交換以實(shí)現(xiàn)最快的網(wǎng)絡(luò)性能,也包括易于編程以添加新的網(wǎng)絡(luò)功能和運(yùn)行網(wǎng)絡(luò)控制平面的CPU核心。這也允許SmartNIC運(yùn)行策略引擎,從而更好地控制和隔離在主CPU上運(yùn)行的潛在惡意應(yīng)用程序。
基于這個(gè)原因,我們有理由將二者區(qū)別開來(lái),認(rèn)為唯一真正的 SmartNIC是那些結(jié)合了智能NIC卸載并使用標(biāo)準(zhǔn)板載CPU核心來(lái)加速網(wǎng)絡(luò)功能的智能網(wǎng)卡。這并不是說(shuō)這樣的SmartNIC將完全取代其他技術(shù),例如,ASIC在處理網(wǎng)絡(luò)卸載方面非常高效,只是ASIC并不是那么靈活。然而,SmartNIC一詞也越來(lái)越多地被視為特別適用于最靈活、最有能力的加速器,也就是那些擁有集成CPU核心的加速器。
另一個(gè)區(qū)別是:SmartNIC可以很容易地使用標(biāo)準(zhǔn)語(yǔ)言(如C語(yǔ)言)進(jìn)行編程,以便能夠快速更新以采用新功能。這些新功能包括處理虛擬網(wǎng)絡(luò)覆蓋協(xié)議(如VXLAN或NVGRE),虛擬化網(wǎng)絡(luò)存儲(chǔ)資源以使其看起來(lái)是主機(jī)處理器的本地存儲(chǔ)資源,或在NIC級(jí)別運(yùn)行安全功能,如入侵預(yù)防系統(tǒng)(IPS)。它甚至可能包括與存儲(chǔ)相關(guān)的特性,如壓縮、重復(fù)數(shù)據(jù)刪除、RAID(獨(dú)立冗余磁盤陣列),以及存儲(chǔ)虛擬化。
SmartNIC源于超大規(guī)模網(wǎng)絡(luò)公司和云運(yùn)營(yíng)商的大規(guī)模數(shù)據(jù)中心的需求,因?yàn)樗鼈儚氖褂脤S糜布峁┚W(wǎng)絡(luò)功能轉(zhuǎn)變?yōu)樵诙鄠€(gè)服務(wù)器節(jié)點(diǎn)上運(yùn)行的軟件功能,這些功能更易于擴(kuò)展和管理。在超大規(guī)模用戶的引領(lǐng)下,企業(yè)可能會(huì)遵循并設(shè)計(jì)更多的私有、公共和混合云數(shù)據(jù)中心。
定義仍然比較寬松,但關(guān)鍵在于:存在一系列跨越標(biāo)準(zhǔn)NIC的網(wǎng)絡(luò)卸載功能、可加速數(shù)據(jù)平面任務(wù)的智能NIC,以及可卸載多種任務(wù)(如數(shù)據(jù)平面和控制平面功能)的可編程SmartNIC。
每一種都有自己的用例,你只需要確定自己的用例即可。