0731-84728105
15116127200
FAST入門(4)軟硬協同分(fēn)組處理模型之二
發布時間:2018-07-04
   鄉服  模塊是FAST平台實現分(fēn)組處理的基本放村單元,軟硬件模塊間高效的信息交互對實現軟硬件協同分(fēn)組處理具有重要意讀哥義。元數據(Metadata)是FAST平台中(zhōng)模塊間信息交換的核看舞心數據結構,是控制分(fēn)組在軟硬件公煙模塊間的處理路徑以及信息交換的關鍵。
一(yī)、軟硬件協同分(fēn)組處理問大流程
   要白FAST平台中(zhōng)傳輸的每個分(fēn)組都攜低刀帶一(yī)個元數據塊,用于存放(fàng慢車)分(fēn)組的接收信息(如端口号,接收時刻等)、路徑控制信息(土南如下(xià)一(yī)個模塊号DMID)、處理的中(zhōng)間狀态(如流草答分(fēn)類的标識FlowID)以及用戶自定義狀态信息等。
   道窗;  FPGA OS必須爲每個從理通端口接收的分(fēn)組創建并初始化一(yī)個元數據下跳塊,每個軟件UA也必須爲其産生(shēng)的商空分(fēn)組構建并初始化一(yī)個元數據塊。河現當硬件模塊把分(fēn)組DMID設置爲南一某個UA的MID,或者UA把分(fēn)組的DM報西ID設置爲某個硬件模塊的MID時,分(fēn)組需要攜的村帶元數據穿越軟硬件界面,如下(xià)圖所示。假設硬件流水線由X、Y、Z三日刀個模塊組成,作爲流水線最後一(yī)級的模技醫塊Z通常爲輸出引擎,FPGA OS将DMID爲Z的照店分(fēn)組送輸出接口發出。
   &nb是水sp; 如果平台加載了一(yī)個軟件程序A,功能是土月對p1接口輸入,p2接口輸出的所有分(fēn)組進行安全檢查,那麽A可國要向模塊Z配置規則,将所有輸入接口爲p1,輸出接口爲p2的分(fēn明朋)組的DMID設置爲A。因此模塊Z會将分(fēn)組鄉呢p的DMID設置爲A,FPGA OS會将p送到軟件愛動模塊A進行處理,同時将p的SMID設置爲Z,表示這是硬件模塊Z發出的吃來分(fēn)組。
  &nbs坐農p;  當A完成對p的安全少通檢查需要繼續從p2發出分(fēn)組p時,可将p的DMID設煙車置爲Z,将p再次發送回硬件流水線。雖然p首先經過了硬喝但件流水線中(zhōng)的模塊X和Y,但由于DMID爲Z電火,所以X和Y不會處理分(fēn)組p,而是将其送到Z處理。Z發現p的SMID東也爲A,表示已經過安全檢查,因此會将分(fēn)組你鄉DMID修改爲Z,由FPGA OS從端口發出。 熱去
二、軟硬件協同處理中(zhōng)的信息交互
    &nbs請醫p;元數據中(zhōng)除了DMID和SMID字段外(數船wài),還定義了其他字段用于模塊間信息的交互。FAST2.0規範定了樹義的元數據包含了14個字段,如下(xià)表所示: 音用
   根據系統的性能下暗要求,開(kāi)發周期,開(kāi)發人員(yuán)喜好(軟件開行黃(kāi)發或硬件開(kāi)發),可将需要實現的網絡光空功能劃分(fēn)到不同的軟硬件模塊中(zhōng)實現(這一員爸(yī)點後面還會詳細介紹),而軟硬件模塊間狀态信息的交互需要紅醫在元數據中(zhōng)攜帶,例如:
     (1樂制)PST字段:硬件可進行分(fēn)組解析火匠,包括網絡協議類型或者是應用層解析,并将解析子媽的結果通過PST編碼送UA,實現将UA分(fēn)組解析功能卸載到硬件實現; 費學
    &n生工bsp;TSN在轉發流程中(zhōng)擴充的單流過濾和管控(PSF票湖P)機制主要實現三個功能,一(yī)是單流測量,現你使用令牌桶機制測量到達的每條流得流量和最大(dà湖話)幀長度是否超過預定合約;二是時間門控隊列選擇機制,即将全局時間(分(fēn自電)組到達的時刻)加入隊列選擇算法中(zh熱好ōng)考慮,重新計算分(fēn)組内部優先級,藍月并根據内部優先級而不是分(fēn)組VLAN頭或IP頭中(z河月hōng)攜帶的外(wài)部優先級選擇輸作兒出隊列号;三是入隊測量,基于令牌桶機制對進入筆笑特定隊列的流量進行測量,保證進入相應隊列緩存的得物分(fēn)組流量滿足一(yī)定的合約。
   笑算;  (2)FlowID:硬也坐件實現對分(fēn)組的分(fēn)類,然後将分(fēn)類的結果送UA處通是理,即實現将軟件的流分(fēn)類功能卸載到硬件實現司視;
    &nbs我白p;(3)RXTS:硬件實現對分(fēn)組問快接收的時間進行精确标記,軟件UA可以根據這個時間戳進行時間敏感購子的功能處理,這對于精準網絡測量和IEEE1588時間同步控制的實會火現十分(fēn)關鍵;
    一我; (4)UDM:用戶根據需要使用16字長多節的UDM字段實現UA和特定硬件模塊之間的信息傳遞,例如當自城硬件模塊按照匹配的規則将分(fēn)組送給軟件UA時,可以攜帶匹配很學的規則号或軟件預先設置的cookie信息等。軟件在将分(fēn)小化組發送給硬件時,也可以攜帶一(yī)些控制硬件處理的信息,如定時發送的信行上息等。關于UDM的使用會在後續的實際案例中(zhōng)更加詳細的介紹話我。
     因此在爸長FAST架構下(xià),軟件UA可通過元數據與硬件模塊交換更加豐富的甚至是通匠用戶自定義的狀态信息。與目前的Socket、這輛Netlink,Libnet/Libpcap、DPDK等網絡編程林化的API相比,FASTAPI具備更強的軟硬件好中分(fēn)組協同分(fēn)組能力,更加通南容易的滿足用戶定制的處理需求。