基于FPGA硬件加速的BittWare StreamSleuth對抗100Gbps
在過(guò)去的三十年中,以太網(wǎng)已經(jīng)發(fā)展成為所有行業(yè)的統一通信基礎架構。每天都有超過(guò)三百萬(wàn)的以太網(wǎng)端口在部署,覆蓋從FE到100GbE的所有速度。企業(yè)和運營(yíng)商在部署時(shí)通常會(huì )使用盒式的交換設備和堆疊和高密度機箱式交換機的組合,來(lái)應對以太網(wǎng)的不斷演進(jìn)。然而,在過(guò)去的幾年中,以太網(wǎng)發(fā)展態(tài)勢正在持續改變。隨著(zhù)數據中心以太網(wǎng)部署和創(chuàng )新都在以最快的速度進(jìn)行著(zhù),數據中心的以太網(wǎng)端口部署趨于一致,無(wú)論是10GbE、25GbE或50GbE,相同的以太網(wǎng)端口速度通過(guò)一個(gè)機架架頂(ToR)交換機被部署于每一個(gè)服務(wù)器上,然后聚集到多個(gè)CLOS層。最終目的是將盡可能多的以太網(wǎng)端口以最高的商用速度部署在以太網(wǎng)交換機上,并使其最經(jīng)濟和最節能。連接到ToR交換機的終端是服務(wù)器NIC(網(wǎng)絡(luò )接口卡),它一般是市場(chǎng)上可用的最高速度(目前為10/25GbE,正在向25/50GbE方向發(fā)展)。
本文引用地址:http://dyxdggzs.com/article/201710/365500.htm今天,25GbE交換機的128個(gè)接口正在部署中,在接下來(lái)的幾年內會(huì )到達并超越64x 100GbE。但是,盡管數據中心正在向更高的端口密度、更高的端口速度和同質(zhì)部署方向發(fā)展,但是更低的速度仍擁有廣泛市場(chǎng),比如10GbE繼續被使用并仍具有經(jīng)濟效益。數據中心的創(chuàng )新帶動(dòng)更高密度和更高端口速度的發(fā)展,但很多細分市場(chǎng)仍需要具備較低端口速度和不同密度的解決方案。
BittWare最新開(kāi)發(fā)的StreamSleuth:
正如BittWare提到,只有CPU而沒(méi)有硬件加速是無(wú)法處理100Gbe的數據包交互的。而正式亮相于本次舊金山RSA大會(huì )的,BittWare最新開(kāi)發(fā)的StreamSleuth(流偵探),通過(guò)一個(gè)FPGA 助手,敏捷且迅速的將數據流分組了,此外,BittWare還表示,StreamSleuth使的基于FPGA編程實(shí)現數據包處理機制時(shí),沒(méi)有任何FPGA編程的負擔,也就是說(shuō),在編程的時(shí)候你并不需要精通Verilog或是VHDL這些硬件語(yǔ)言 ,就可以很方便的將FPGA的高性能應用到自己的應用中。
圖1 StreamSleuth接口側
正如BittWare的網(wǎng)絡(luò )產(chǎn)品VPGM發(fā)言人 Graig Lund解釋?zhuān)@并不是由一個(gè)隨時(shí)可以重組的箱子組成的一個(gè)裝置。用戶(hù)往往需要或許也更想去量身定做它,比如說(shuō),在制作的時(shí)候,有的人想添加數據包過(guò)濾器,有的人想對數據交互的過(guò)程進(jìn)行監視。用戶(hù)在基于線(xiàn)速度是使用StreamSleuth做出任何想做的東西,而唯一不需要用戶(hù)去做的,就是學(xué)習如何編程FPGA。盡管用戶(hù)沒(méi)有任何編程FPGA的經(jīng)歷,依然可以將FPGA的技術(shù)優(yōu)勢完美的應用的自己的應用中。也因此方便更多的網(wǎng)絡(luò )或數據庫工程師來(lái)使用BittWare的StreamSleuth。
正如Lund所說(shuō),相比以太網(wǎng)以前的低版本產(chǎn)品StreamSleuth是一個(gè)十分不同的創(chuàng )造物。一直以來(lái),服務(wù)器都不可以直接處理100GbE的數據交互,而且此狀態(tài)一直沒(méi)有得到解決。而現在的網(wǎng)絡(luò )管道卻別服務(wù)器內部的I/O管道大得多,進(jìn)入服務(wù)器的數據量成指數增長(cháng),同時(shí)也導致了CPU設計時(shí)不得不增加三級緩存來(lái)緩解數據堵塞。
或許我們聽(tīng)到過(guò)更糟糕的情況,對于一個(gè)服務(wù)器而言,如何減少網(wǎng)絡(luò )阻塞,無(wú)疑是需要增加濾波器,很多濾波器,很多復雜的濾波器,比現在商品轉化和防火墻器件更多的復雜濾波器。理論上說(shuō),需要用一種語(yǔ)言基于線(xiàn)速度快速完成標準的BPF/pcap濾波器的實(shí)現,類(lèi)似一個(gè)基于高度并行FPGA的數據包發(fā)動(dòng)機。
當然,以上這種做法對于減輕100Gbe的線(xiàn)路速率也是有作用的,但是目前的硬件并做不到,也沒(méi)辦法用軟件來(lái)實(shí)現。最終的出路在于FPGA,所以BittWare的基于FPGA數據處理的StreamSleuth成功的實(shí)現了用戶(hù)想要達到的效果。
以軟件實(shí)現的防御并不可以抵擋100Gbe線(xiàn)路速率的DoS,但是基于FPGA加速實(shí)現的數據包處理器可以。所以我們也明白了StreamSleuth內部的FPGA到底做了什么工作,它重配置了數據包濾波器,使得加載和路由變得平衡。同時(shí),應用BPF/pcap語(yǔ)言為自己的需求編程,并通過(guò)GUI或APIs燒錄到StreamSleuth 100Gbe數據包處理器中,就可以實(shí)現自己的需求。而此數據處理器中集成的是一款Xilinx Virtex UltraScale+ VU9P FPGA 板卡。
下圖就是BittWare的StreamSleuth的板卡內部結構:
圖2 BittWare
總結:
無(wú)論是視頻流處理還是數據流處理,現如今,只要需要用到加速器來(lái)實(shí)現的應用已經(jīng)越來(lái)越多的通過(guò)基于FPGA來(lái)進(jìn)行硬件加速,不僅可以真正意義上的并行,加快運行速度,也可以降低CPU執行軟件的壓力??梢?jiàn),基于FPGA來(lái)硬件加速將會(huì )是加速器未來(lái)的發(fā)展方向。
評論