0731-84728105
15116127200
FAST入門(1):了(le/liǎo)解FAST
發布時(shí)間:2018-06-23
一、FAST是(shì)什麽
     FAST是(shì)FPGA加速的(de)交換平台(FPGA Accelerated Switching plaTform)英文的(de)簡寫,其誕生與發展深受斯坦福大(dà)學Nick Mckeown教授在(zài)十多年前主持的(de)NetFPGA項目影響,目标是(shì)爲(wéi / wèi)計算機網絡的(de)科研與教學提供一個(gè)開源和(hé / huò)開放的(de)FPGA交換平台。
     FAST代表的(de)4個(gè)單詞反映了(le/liǎo)項目的(de)内容和(hé / huò)特點:
     802.1Q規範沒有明确定義流量測量的(de)粒度,無法對進入網絡的(de)流量進行細粒度的(de)測量和(hé / huò)管控。雖然支持多種輸出(chū)調度算法,但更多是(shì)保證輸出(chū)調度的(de)優先級,或者按照預先确定的(de)權值分配不(bù)同優先級隊列占用的(de)輸出(chū)帶寬,在(zài)調度中沒有利用全局時(shí)間信息,無法實現确定性的(de)延時(shí)控制。軟件定義網絡技術的(de)應用可以(yǐ)簡化交換流程,将生成樹管理以(yǐ)及地(dì / de)址學習功能上(shàng)載到(dào)控制器上(shàng)實現,可以(yǐ)針對每條細粒度的(de)流定義交換行爲(wéi / wèi),但也(yě)難以(yǐ)實現确定性的(de)延時(shí)控制。
     FAST實現的(de)核心載體是(shì)可編程FPGA,是(shì)用Verilog語言編程實現的(de)硬件功能。FPGA的(de)現場可編程特性爲(wéi / wèi)實現用戶創新的(de)網絡架構、算法、實現機制提供了(le/liǎo)極大(dà)的(de)靈活性,而(ér)且可以(yǐ)獲得較高的(de)性能,支持在(zài)實際網絡中部署運行。
     FPGA實現的(de)不(bù)是(shì)網絡處理的(de)全部功能,而(ér)是(shì)部分需要(yào / yāo)硬件加速的(de)分組處理功能。FAST的(de)核心是(shì)一套軟硬件協同的(de)分組處理模型,用戶可以(yǐ)通過Verilog編程實現的(de)硬件功能的(de)加速,也(yě)可以(yǐ)在(zài)現有的(de)FAST硬件平台的(de)CPU上(shàng)編程實現特定的(de)分組處理功能。
     FAST面向的(de)領域是(shì)網絡交換領域,支持各種新型交換技術,如軟件定義網絡(SDN)、時(shí)間敏感網絡(TSN)、網絡安全一體化網絡甚至是(shì)智能網卡的(de)實現研究,而(ér)不(bù)是(shì)支持以(yǐ)人(rén)工智能(AI)爲(wéi / wèi)代表的(de)應用加速。
     與目前其他(tā)開源項目一樣,FAST提供的(de)是(shì)一個(gè)硬件平台無關的(de),支持用戶通過軟硬件編程實現其特定分組處理功能的(de)環境。FAST通過提供标準的(de)規範、開源的(de)平台軟硬件實現代碼和(hé / huò)demo應用,支持用戶基于(yú)平台進行創新的(de)應用開發和(hé / huò)設備原型的(de)快速實現。

圖1 NetFPGA平台

圖2 一款支持FAST的(de)可編程設備(Openbox S4z)
FAST的(de)logo是(shì)一隻快速奔跑的(de)豹子(zǐ),預示着借助FAST平台,用戶的(de)新想法可快速的(de)實現和(hé / huò)驗證。

圖3 FAST LOGO
二、FAST項目的(de)意義
      當前,工業界已經給我們提供了(le/liǎo)太多優秀的(de)開源交換項目和(hé / huò)實現平台。例如基于(yú)至強處理器實現T比特級轉發性能的(de)fd.io項目,在(zài)雲數據中心中得到(dào)大(dà)量應用檢驗的(de)OVS,矽谷新貴barefoot公司推出(chū)的(de)集美貌(性能)與才華(可編程性)一身的(de)Tofino芯片等等。

圖3 2016年10月,FAST開源項目正式成立
     與上(shàng)述工業界力推的(de)項目和(hé / huò)平台相比,FAST隻能說(shuō)是(shì)十分小衆的(de)開源項目。雖然FAST沒有蹭到(dào)AI熱點,而(ér)且還不(bù)支持類似P4的(de)高級語言對FPGA編程,其存在(zài)對未來(lái)網絡技術的(de)發展,提升網絡系統創新的(de)能力仍具有重要(yào / yāo)意義。主要(yào / yāo)表現在(zài)三方面:
      一是(shì)在(zài)科研中,爲(wéi / wèi)系統級的(de)創新提供參考架構和(hé / huò)樣機平台;
      二是(shì)在(zài)教學中,爲(wéi / wèi)培養學生系統級的(de)設計思維提供實驗平台和(hé / huò)案例;
      三是(shì)對于(yú)中小企業,爲(wéi / wèi)新型網絡系統的(de)快速實現提供參考平台,縮短上(shàng)市時(shí)間。
      在(zài)軟件定義一切的(de)年代,基于(yú)工業界相對成熟的(de)開源平台(如fd.io和(hé / huò)OVS),通過軟件開發實現網絡功能創新是(shì)目前主流。然而(ér),軟硬件協同的(de)系統級創新仍然是(shì)計算機網絡人(rén)才培養和(hé / huò)科學研究中不(bù)可缺少的(de)内容。
随着工業互聯網和(hé / huò)5G的(de)發展,特别是(shì)自主可控逐漸發展成爲(wéi / wèi)國(guó)家戰略的(de)時(shí)代背景下,系統級設計思想和(hé / huò)設計人(rén)才将會變的(de)更加重要(yào / yāo),FAST開源項目的(de)願景就(jiù)是(shì)爲(wéi / wèi)軟硬件協同的(de)系統級網絡設備開發和(hé / huò)人(rén)才培養提供高效,低成本,易于(yú)獲取的(de)平台和(hé / huò)技術支撐。