一(yī)、FAST是什麽
FAST是FPGA加速的交換平台(FPGA Accelerated Switching plaTform)英文的簡寫,其誕生(shēng)與發展深受斯坦福大(dà)學Nick Mckeown教授在十多年前主持的NetFPGA項目影響,目标是爲計算機網絡的科研與教學提供一(yī)個開(kāi)源和開(kāi)放(fàng)的FPGA交換平台。
FAST代表的4個單詞反映了項目的内容和特點:
802.1Q規範沒有明确定義流量測量的粒度,無法對進入網絡的流量進行細粒度的測量和管控。雖然支持多種輸出調度算法,但更多是保證輸出調度的優先級,或者按照預先确定的權值分(fēn)配不同優先級隊列占用的輸出帶寬,在調度中(zhōng)沒有利用全局時間信息,無法實現确定性的延時控制。軟件定義網絡技術的應用可以簡化交換流程,将生(shēng)成樹(shù)管理以及地址學習功能上載到控制器上實現,可以針對每條細粒度的流定義交換行爲,但也難以實現确定性的延時控制。
FAST實現的核心載體(tǐ)是可編程FPGA,是用Verilog語言編程實現的硬件功能。FPGA的現場可編程特性爲實現用戶創新的網絡架構、算法、實現機制提供了極大(dà)的靈活性,而且可以獲得較高的性能,支持在實際網絡中(zhōng)部署運行。
FPGA實現的不是網絡處理的全部功能,而是部分(fēn)需要硬件加速的分(fēn)組處理功能。FAST的核心是一(yī)套軟硬件協同的分(fēn)組處理模型,用戶可以通過Verilog編程實現的硬件功能的加速,也可以在現有的FAST硬件平台的CPU上編程實現特定的分(fēn)組處理功能。
FAST面向的領域是網絡交換領域,支持各種新型交換技術,如軟件定義網絡(SDN)、時間敏感網絡(TSN)、網絡安全一(yī)體(tǐ)化網絡甚至是智能網卡的實現研究,而不是支持以人工(gōng)智能(AI)爲代表的應用加速。
與目前其他開(kāi)源項目一(yī)樣,FAST提供的是一(yī)個硬件平台無關的,支持用戶通過軟硬件編程實現其特定分(fēn)組處理功能的環境。FAST通過提供标準的規範、開(kāi)源的平台軟硬件實現代碼和demo應用,支持用戶基于平台進行創新的應用開(kāi)發和設備原型的快速實現。
圖1 NetFPGA平台
圖2 一(yī)款支持FAST的可編程設備(Openbox S4z)
FAST的logo是一(yī)隻快速奔跑的豹子,預示着借助FAST平台,用戶的新想法可快速的實現和驗證。
圖3 FAST LOGO
二、FAST項目的意義
當前,工(gōng)業界已經給我(wǒ)(wǒ)們提供了太多優秀的開(kāi)源交換項目和實現平台。例如基于至強處理器實現T比特級轉發性能的fd.io項目,在雲數據中(zhōng)心中(zhōng)得到大(dà)量應用檢驗的OVS,矽谷新貴barefoot公司推出的集美貌(性能)與才華(可編程性)一(yī)身的Tofino芯片等等。
圖3 2016年10月,FAST開(kāi)源項目正式成立
與上述工(gōng)業界力推的項目和平台相比,FAST隻能說是十分(fēn)小(xiǎo)衆的開(kāi)源項目。雖然FAST沒有蹭到AI熱點,而且還不支持類似P4的高級語言對FPGA編程,其存在對未來網絡技術的發展,提升網絡系統創新的能力仍具有重要意義。主要表現在三方面:
一(yī)是在科研中(zhōng),爲系統級的創新提供參考架構和樣機平台;
二是在教學中(zhōng),爲培養學生(shēng)系統級的設計思維提供實驗平台和案例;
三是對于中(zhōng)小(xiǎo)企業,爲新型網絡系統的快速實現提供參考平台,縮短上市時間。
在軟件定義一(yī)切的年代,基于工(gōng)業界相對成熟的開(kāi)源平台(如fd.io和OVS),通過軟件開(kāi)發實現網絡功能創新是目前主流。然而,軟硬件協同的系統級創新仍然是計算機網絡人才培養和科學研究中(zhōng)不可缺少的内容。
随着工(gōng)業互聯網和5G的發展,特别是自主可控逐漸發展成爲國家戰略的時代背景下(xià),系統級設計思想和設計人才将會變的更加重要,FAST開(kāi)源項目的願景就是爲軟硬件協同的系統級網絡設備開(kāi)發和人才培養提供高效,低成本,易于獲取的平台和技術支撐。