新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于FPGA硬件加速的BittWare StreamSleuth對(duì)抗100Gbps

基于FPGA硬件加速的BittWare StreamSleuth對(duì)抗100Gbps

作者: 時(shí)間:2017-10-11 來源:網(wǎng)絡(luò) 收藏

在過去的三十年中,已經(jīng)發(fā)展成為所有行業(yè)的統(tǒng)一通信基礎(chǔ)架構(gòu)。每天都有超過三百萬的端口在部署,覆蓋從FE到100GbE的所有速度。企業(yè)和運(yùn)營(yíng)商在部署時(shí)通常會(huì)使用盒式的交換設(shè)備和堆疊和高密度機(jī)箱式交換機(jī)的組合,來應(yīng)對(duì)的不斷演進(jìn)。然而,在過去的幾年中,以太網(wǎng)發(fā)展態(tài)勢(shì)正在持續(xù)改變。隨著數(shù)據(jù)中心以太網(wǎng)部署和創(chuàng)新都在以最快的速度進(jìn)行著,數(shù)據(jù)中心的以太網(wǎng)端口部署趨于一致,無論是10GbE、25GbE或50GbE,相同的以太網(wǎng)端口速度通過一個(gè)機(jī)架架頂(ToR)交換機(jī)被部署于每一個(gè)服務(wù)器上,然后聚集到多個(gè)CLOS層。最終目的是將盡可能多的以太網(wǎng)端口以最高的商用速度部署在以太網(wǎng)交換機(jī)上,并使其最經(jīng)濟(jì)和最節(jié)能。連接到ToR交換機(jī)的終端是服務(wù)器NIC(網(wǎng)絡(luò)接口卡),它一般是市場(chǎng)上可用的最高速度(目前為10/25GbE,正在向25/50GbE方向發(fā)展)。

本文引用地址:http://butianyuan.cn/article/201710/365500.htm

今天,25GbE交換機(jī)的128個(gè)接口正在部署中,在接下來的幾年內(nèi)會(huì)到達(dá)并超越64x 100GbE。但是,盡管數(shù)據(jù)中心正在向更高的端口密度、更高的端口速度和同質(zhì)部署方向發(fā)展,但是更低的速度仍擁有廣泛市場(chǎng),比如10GbE繼續(xù)被使用并仍具有經(jīng)濟(jì)效益。數(shù)據(jù)中心的創(chuàng)新帶動(dòng)更高密度和更高端口速度的發(fā)展,但很多細(xì)分市場(chǎng)仍需要具備較低端口速度和不同密度的解決方案。

BittWare最新開發(fā)的StreamSleuth:

正如BittWare提到,只有CPU而沒有硬件加速是無法處理100Gbe的數(shù)據(jù)包交互的。而正式亮相于本次舊金山RSA大會(huì)的,BittWare最新開發(fā)的StreamSleuth(流偵探),通過一個(gè) 助手,敏捷且迅速的將數(shù)據(jù)流分組了,此外,BittWare還表示,StreamSleuth使的基于編程實(shí)現(xiàn)數(shù)據(jù)包處理機(jī)制時(shí),沒有任何編程的負(fù)擔(dān),也就是說,在編程的時(shí)候你并不需要精通Verilog或是VHDL這些硬件語言 ,就可以很方便的將FPGA的高性能應(yīng)用到自己的應(yīng)用中。

圖1 StreamSleuth接口側(cè)

正如BittWare的網(wǎng)絡(luò)產(chǎn)品VPGM發(fā)言人 Graig Lund解釋,這并不是由一個(gè)隨時(shí)可以重組的箱子組成的一個(gè)裝置。用戶往往需要或許也更想去量身定做它,比如說,在制作的時(shí)候,有的人想添加數(shù)據(jù)包過濾器,有的人想對(duì)數(shù)據(jù)交互的過程進(jìn)行監(jiān)視。用戶在基于線速度是使用StreamSleuth做出任何想做的東西,而唯一不需要用戶去做的,就是學(xué)習(xí)如何編程FPGA。盡管用戶沒有任何編程FPGA的經(jīng)歷,依然可以將FPGA的技術(shù)優(yōu)勢(shì)完美的應(yīng)用的自己的應(yīng)用中。也因此方便更多的網(wǎng)絡(luò)或數(shù)據(jù)庫工程師來使用BittWare的StreamSleuth。

正如Lund所說,相比以太網(wǎng)以前的低版本產(chǎn)品StreamSleuth是一個(gè)十分不同的創(chuàng)造物。一直以來,服務(wù)器都不可以直接處理100GbE的數(shù)據(jù)交互,而且此狀態(tài)一直沒有得到解決。而現(xiàn)在的網(wǎng)絡(luò)管道卻別服務(wù)器內(nèi)部的I/O管道大得多,進(jìn)入服務(wù)器的數(shù)據(jù)量成指數(shù)增長(zhǎng),同時(shí)也導(dǎo)致了CPU設(shè)計(jì)時(shí)不得不增加三級(jí)緩存來緩解數(shù)據(jù)堵塞。

或許我們聽到過更糟糕的情況,對(duì)于一個(gè)服務(wù)器而言,如何減少網(wǎng)絡(luò)阻塞,無疑是需要增加濾波器,很多濾波器,很多復(fù)雜的濾波器,比現(xiàn)在商品轉(zhuǎn)化和防火墻器件更多的復(fù)雜濾波器。理論上說,需要用一種語言基于線速度快速完成標(biāo)準(zhǔn)的BPF/pcap濾波器的實(shí)現(xiàn),類似一個(gè)基于高度并行FPGA的數(shù)據(jù)包發(fā)動(dòng)機(jī)。

當(dāng)然,以上這種做法對(duì)于減輕100Gbe的線路速率也是有作用的,但是目前的硬件并做不到,也沒辦法用軟件來實(shí)現(xiàn)。最終的出路在于FPGA,所以BittWare的基于FPGA數(shù)據(jù)處理的StreamSleuth成功的實(shí)現(xiàn)了用戶想要達(dá)到的效果。

以軟件實(shí)現(xiàn)的防御并不可以抵擋100Gbe線路速率的DoS,但是基于FPGA加速實(shí)現(xiàn)的數(shù)據(jù)包處理器可以。所以我們也明白了StreamSleuth內(nèi)部的FPGA到底做了什么工作,它重配置了數(shù)據(jù)包濾波器,使得加載和路由變得平衡。同時(shí),應(yīng)用BPF/pcap語言為自己的需求編程,并通過GUI或APIs燒錄到StreamSleuth 100Gbe數(shù)據(jù)包處理器中,就可以實(shí)現(xiàn)自己的需求。而此數(shù)據(jù)處理器中集成的是一款Xilinx Virtex UltraScale+ VU9P FPGA 板卡。

下圖就是BittWare的StreamSleuth的板卡內(nèi)部結(jié)構(gòu):

圖2 BittWare

總結(jié):

無論是視頻流處理還是數(shù)據(jù)流處理,現(xiàn)如今,只要需要用到加速器來實(shí)現(xiàn)的應(yīng)用已經(jīng)越來越多的通過基于FPGA來進(jìn)行硬件加速,不僅可以真正意義上的并行,加快運(yùn)行速度,也可以降低CPU執(zhí)行軟件的壓力。可見,基于FPGA來硬件加速將會(huì)是加速器未來的發(fā)展方向。



關(guān)鍵詞: FPGA 以太網(wǎng)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉