0731-84728105
15116127200
OpenTSN網卡實現模型(1)
發布時間:2020-03-16
     TSN網卡是TSN網絡提供端到(dào)端确定性交換服務的關鍵設備。由于應用需求不同,TSN網卡連接的端系統計算(suàn)平台在計算(suàn)能(néng)力,資源管理方法和通(tōng)信需求等方面差異較大,因此設計盡可能(néng)滿足多(duō)種應用場景需求的TSN網卡是OpenTSN開(kāi)源項目的重要目标。本文分析了不同TSN端系統的差異,提出了OpenTSN網卡與端系統松耦合的實現思路(lù)。
一(yī)、TSN端系統分析
      我們認為(wèi)TSN網卡連接的端系統節點主要分為(wèi)三類,即I/O節點、計算(suàn)節點以及支持雲計算(suàn)的虛拟化節點,如圖1所示。

圖1 TSN端系統的分類
     其中I/O節點實現簡單,對成本、體積和功耗要求較高(gāo),通(tōng)常沒有操作系統,難以面向TSN進行定制化設計;計算(suàn)節點包含通(tōng)用CPU和操作系統,TSN網卡可以通(tōng)過修改驅動程序對TSN端系統的操作進行适配;而虛拟化節點主要面向邊緣計算(suàn)或嵌入式雲計算(suàn),需要對TSN網卡進行虛拟化,TSN網卡在提供确定性I/O的同時,還(hái)要支持I/O的虛拟化,實現不同應用之間網絡I/O的隔離。
     每種TSN端系統的比較如下(xià)表所示。由于不同端節點具有不同的特點,在主機(jī)測和網卡側的TSN功能(néng)劃分差異較大,因此難以實現通(tōng)用的TSN網卡設計。
     值得關注的是,當TSN端節點為(wèi)虛拟化平台時,主機(jī)側會(huì)虛拟出多(duō)個(gè)具有獨立MAC和IP地址的節點。一(yī)方面提高(gāo)了TSN網絡離線規劃的複雜(zá)性,另一(yī)方面給TSN端系統收發分組時的确定性保證帶來了新的困難。
二、OpenTSN網卡實現思路(lù)
      為(wèi)了最大限度适配不同類型的端系統,OpenTSN網卡與端系統主機(jī)側采用松耦合的方式,通(tōng)過千兆以太網與端系統計算(suàn)平台進行連接,如圖2所示。與PCIe、SPI等連接方式相(xiàng)比,使用千兆以太網連接的優點是:
     (1)通(tōng)信帶寬比SPI總線高(gāo),基本可滿足多(duō)種終端的通(tōng)信帶寬需求;
     (2)很多(duō)CPU已經内嵌千兆以太網,因此無需在主機(jī)側再增加新的網卡;
     (3)網卡側存儲空間不會(huì)映射到(dào)主機(jī)側的存儲空間,不需要額外的驅動程序支持;
     (4)對于虛拟化平台,主機(jī)側可以選擇支持SR-IOV的網卡,主機(jī)内部虛拟機(jī)/容器(qì)的交換可以不經過TSN網卡實現。

圖2 OpenTSN網卡實現思路(lù)
     除了采用松耦合的以太網物(wù)理連接外,OpenTSN網卡在邏輯功能(néng)上(shàng)也實現了與主機(jī)側計算(suàn)平台的解耦,主要表現在:
(1)延時确定性保證機(jī)制的解耦
     OpenTSN網卡通(tōng)過内設RX_buf/TX_buf,實現了端到(dào)端交換路(lù)徑上(shàng),應用與網卡間延時确定性保證與TSN網絡(發送網卡-TSN網絡-接收網卡)延時确定性保證機(jī)制之間的解耦。OpenTSN隻需要保證從(cóng)發送方網卡上(shàng)的TX_buf到(dào)接收方網卡上(shàng)RX_buf之間的延時确定性即可。
     如果應用對通(tōng)過計算(suàn)平台與網卡RX_buf/Tx_buf通(tōng)信的延時有嚴格的确定性要求,可以通(tōng)過定制優化計算(suàn)平台的軟硬件(jiàn)實現确定性保證,與網卡無關。
(2)TSN功能(néng)到(dào)網卡的全卸載
     端系統主機(jī)側不用針對TSN進行任何修改。在OpenTSN網卡上(shàng)實現了TSN管理Agent,為(wèi)全局規劃提供完整的,與端系統無關的資源抽象,并接受TSN網絡控制器(qì)對網卡的配置,包括RX/TX調度表配置,TSN流水(shuǐ)線中的整型、調度和冗餘控制等機(jī)制進行配置。
     由于TSN功能(néng)全部卸載到(dào)網卡上(shàng),因此主機(jī)計算(suàn)平台的處理不需要全網同步的時間基準。
三、總結
      網卡上(shàng)RX_buf/Tx_buf的設置和Tx/Rx調度表設計對OpenTSN網卡與端系統解耦十分重要。這也是其他類型時間觸發通(tōng)信(如TTP)實現通(tōng)信控制器(qì)與主機(jī)消息交互的方法。
     TSN邊緣注入時間規劃功能(néng)可通(tōng)過RX調度控制Rx_buf中分組進入TSN流水(shuǐ)線的時刻實現。同時,基于Tx調度,網卡也可以精确控制按指定時刻向計算(suàn)平台和應用提交接收到(dào)的分組。
      圖2隻給出了網卡處理時間觸發流量(scheduled Traffic)的方法,我們将在後續文章中進一(yī)步給出OpenTSN網卡同時支持時間觸發、AVB和BE流量的方法。