0731-84728105
15116127200
FAST流水線推出3.1版本
發布時間:2019-03-27
   知司  爲了支持更加靈活的用戶邏輯定制,以及基于集好服中(zhōng)緩存的交換輸出調度,解決目前TSN交話林換開(kāi)發過程中(zhōng)遇到的用戶邏輯定制複雜(zá)等問很服題,經讨論和征求現有用戶意見,FAST流水線模型由3.0版本升級但湖到3.1版本。
一(yī)、3.0版本存在的問題
  &nbs舞時p;   FAST3.0流水線模型如圖1所示。其主要特就歌點是增加了Pre-Ingress流水線段,避免GP筆又P(通用分(fēn)組解析)将IEEE1588v2的PTP協議幀務近定向到軟件處理或丢棄,同時将GOE(通用輸出引鐘的擎)直接與UDO(用戶定義輸出)連接,取消了UDO到GOE的反壓流控信号,避免兒樹了分(fēn)組輸出延時的不确定性,爲基于也家FAST架構的TSN交換實現奠定了基礎。

圖1 FAST流水線3.0版本的結構 照請
    &數工nbsp;然而,FAST用戶在TSN交換功能開(kāi科現)發時也面臨了兩個問題。一(yī)是基于FIFO結構的PBuf(分(fē算師n)組緩存)隻支持先來先服務的輸出調度算法,限制了其他輸出調度算土謝法的應用;二是Pbuf的寫入和讀出邏輯分(fēn)别與GPP和GAC(內微通用轉發動作)模塊綁定,強制用戶必須同時紅金使用PBuf緩存管理和GPP/GAC的功能,限在照制了用戶自定義邏輯的靈活性。
二、3.1版本簡介
     FA房風ST流水線3.1版本模型如圖2所示,對比3.0版本主要有三個主近朋要變化。
  (1)基于BID的Pbu長討f管理
     Pbuf農男按照RAM的方式組織,内部存儲被劃分(fēn)爲多個分(fēn)南日組緩沖區,每個緩沖區使用體(tǐ)格BID(緩沖區ID)樹飛表示。每個到達流水線的分(fēn)組都會被分(fēn)配來哥一(yī)個BID,BID嵌入分(fēn)東費組的元數據在流水線中(zhōng)傳遞。當場船流水線需要從Pbuf讀出分(fēn)組時,根據分(fēn)組的BID向Pbuf吧時發出讀出請求。由于BID機制可以支持非FIFO的分(f麗船ēn)組讀出順序,因此可以支持流水線采用更加複雜(zá)的分費金(fēn)組輸出調度策略。
  (2)Pbuf管理與GPP和GAC解耦
      FAS厭線T流水線3.0版本及以前均将Pbuf和寫入和讀出邏輯分(fēn)别嵌入GP體裡P和GAC模塊,因此使用Pbuf時默認需要流水線配置GPP和GAC模塊,林有這給用戶邏輯定制帶來不便。例如很多用戶交換場景購近(例如二層TSN交換)并不需要對IP的解析,而GPP包含了IPv4/路樹IPv6以及傳輸層協議的解析,默認使用GPP使得中河用戶的邏輯難以簡化。

圖2 FAST 3.1的流水線擴展模型
   &nbs能門p;  在FAST流水線3.1版司雨本中(zhōng),Ingress流水線的第一(yī)個模塊到亮固定爲IBM(Ingress緩存管理),I家國BM從CBM(集中(zhōng)緩存管理)獲取一(能低yī)個空閑的BID,将分(fēn)組寫入該BID上大,并将BID嵌入分(fēn)組元數據中(zhōng)。在Egress流鐵作水線中(zhōng)嵌入EBM(Egress緩存管理)模塊,都關負責根據從上遊接收到的分(fēn)組元數據中(z書就hōng)德BID從CBM中(zhōng)讀取分(fēn)組,向下(xi西技à)遊模塊發出。
   車睡;   CBM負責Pbuf中(zhōng能劇)空閑緩沖區BID的維護,IBM每接收一(y理校ī)個分(fēn)組就分(fēn)配一(答暗yī)個BID,EBM沒讀取一(yī)個南自分(fēn)組就回收一(yī)個BID。
   &nb家這sp;  由于流水線元數據中(zhōng)需要攜帶BID信息,因音不此需要将原有FAST架構中(zhōng)的元數據定義進行房服修改,主要是取消元數據中(zhōng)的SeqNum序列号字段和還讀縮短分(fēn)組長度字段,詳細見《FAST元數據格式規範》。
  (3)模塊的顔色标注 紅件
    &nb來飛sp; 爲了進一(yī)步區分(fēn)模塊的屬性,支持用戶利用現有成熟模塊進場如行快速原型實現以及完全定制自己的模塊,FAST模塊引入顔色标注機我樹制。
表1列車(chē)數據類型與TSN數據類型雨林映射表
顔色 類型 知(zhī)識産權屬性 知(zhī)識産權屬性
綠色 要求基于FAST開(kāi)發必須使用的基礎模飛什塊 任意使用,無知(zhī)識産權問題 IBM、CBM、EBM
黃色 推薦基于FAST開(kāi)發的用戶使用的通用模塊 任意使用,無知(zhī)識産權問題 GPP,GKE,GME,GAC,GOE
白(bái)色 用戶自定義的模塊 開(kāi)發者擁有知(zhī)識産權 1588-GAC,1588-UDO等
FAST社區會嚴格測試保證綠色和黃色器得模塊的質量,并提供文檔和技術支持。白(bái)熱他色模塊質量有開(kāi)發用戶負責。經用戶授權和F人科AST社區測試,白(bái)色模塊也會變成黃色模塊。
附:FAST流水線版本曆史
版本 時間 改動
1.0 2016.12 初始的FAST流水線版本,主要特點包括:
(1)标準的五級流水線(用戶定義的解析、關鍵字提取,查表,轉員樂發action,輸出引擎);
(2)用戶通過擴充标準五線那級流水線模塊功能,實現定制邏輯
2.0 2018.6 (1)支持用戶通過插入自己的模塊擴展流水購車線的處理功能,而無需修改已有的五級流水線邏輯
3.0 2019.1 在2.0版本基礎上:
(1)增加了Pre-Ingress流水上山線段,支持對GPP不支持的協議幀進行解析亮長和處理
(2)将GOE直接與UDO連接,避免了分(fēn)組小冷輸出延時的不确定性,爲支持TSN提供保證
3.1 2019.3 在3.0版本基礎上:
(1)将分(fēn)組緩沖區(PB)由單森見FIFO隊列模式改爲基于RAM的随機存取的方式,支持有優先級區别靜紅的分(fēn)組緩存和輸出調度算法;
(2)将分(fēn)組寫入PB的邏輯從G習山PP模塊中(zhōng)獨立出來,将從PB讀出分(fēn)組的邏輯從GAC模不站塊分(fēn)離(lí)出來,有助于用戶邏輯定制時,使用流水線提供的靜家分(fēn)組緩存管理機制,而定制自己的分媽西(fēn)組解析和轉發動作邏輯。
(3)修改相應的元數據格式定義;
(4)FAST流水線模塊的顔色标注機制;