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