999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

時間敏感網絡端系統中隊列管理器電路的設計與實現

2022-06-11 00:47:42喬廬峰陳慶華鄒仕祥
通信技術 2022年5期

杜 婧,喬廬峰,陳慶華,劉 熹,鄒仕祥

(中國人民解放軍陸軍工程大學,江蘇 南京 210007)

0 引言

以太網是目前應用最為廣泛的局域網技術,其具有良好的開放性和互操作性,部署方便、成本較低。傳統以太網無論是采用載波監聽多路訪 問/沖突檢測(Carrier Sense Multiple Access/Collosion Detection,CSMA/CD)技術還是交換式以太網,都無法在帶寬、時延和抖動等網絡指標上提供高可靠、確定性的服務,這使得它們無法直接應用于車載網絡、工業控制等領域,此類需求推動了時間敏感網絡技術(Time Sensitive Network,TSN)的發展。

IEEE 802工作組在傳統以太網協議的基礎上[1],針對音視頻業務流提出了音視頻橋接技術(Audio Video Bridging,AVB),使其支持時間同步、帶寬預留、低延遲等功能,并發展出多個與之相關的協 議,如IEEE 802.1Qat、IEEE 802.1AS、IEEE 802.1 Qav等。后來,AVB應用范圍擴大到了工業控制、汽車控制等領域,同時擴大了所支持的業務類別并更名為TSN。TSN包括時間同步、流量調度和網絡配置3大關鍵技術。其中,時間同步是整個TSN技術實現的前提,流量調度是TSN技術實現的關鍵,網絡配置是實現TSN技術的保障,這些技術的應用有效彌補了傳統以太網非實時性和不確定性的短板,為時間敏感型業務提供了低延時、高穩定性的服務[2]。

TSN網絡拓撲結構如圖1所示,圖中的集中網絡配置控制器(Centralized Network Configuration controller,CNC)可以通過集中用戶配置控制器(Centralized User Configuration controller,CUC),獲取發送端和接收端對網絡帶寬和端到端傳輸時延需求等服務質量(Quality of Service,QoS)相關參數,然后運算得到網絡配置參數并下發給網絡中相關的各交換機和端系統(終端0、終端1)。端系統根據網絡配置參數產生進入TSN網絡的業務流,TSN交換機可以準確識別業務流類型,根據調度策略對數據進行調度,確保多種類型的業務流可以共存在一個網絡中,并能夠滿足各自的QoS需求。

圖1 TSN網絡基本結構

TSN中的端系統產生進入TSN網絡的數據業務,同時也接收來自其他端系統的業務數據。對于不同類型的業務,TSN網絡應提供不同的QoS。例如,對于時間敏感的控制數據,TSN端系統在發送數據之前應向CUC發出申請,提出相應的QoS需求參數。CUC將相關信息通知CNC,由CNC生成網絡配置參數并下發給所有的TSN交換機,同時也返回對TSN端系統的配置信息。此后,TSN端系統需要按照配置的參數,如最大突發長度、平均速率、調度時間表參數等,輸出特定的業務流。端系統根據TSN網絡配置參數調度和輸出數據業務,是TSN網絡保證特定業務端到端QoS的前提和基礎。

TSN端系統中,除了特定的數據源,隊列管理器是其核心,它由緩沖區管理器和隊列調度器兩部分組成。緩沖區管理器支持基于優先級的緩沖資源分配機制和基于鏈表結構的邏輯隊列管理機制;隊列調度器同時支持基于時間列表的輸出門控機制、基于信用的輸出調度機制和基于優先級的輸出調度機制。緩沖區管理器和隊列調度器的工作參數均可根據需要由CNC動態配置,二者配合使用,可以滿足多業務混合條件下的端系統業務緩存與輸出調度需求。

本文設計并實現了應用于TSN端系統的隊列管理器電路,支持靈活的網絡參數配置,可以滿足TSN網絡對端系統的設計需求。

1 TSN端系統隊列管理器電路結構設計

TSN端系統有兩種基本類型:第一類端系統本身是數據源,可以根據TSN規范產生不同類別的數據幀;第二類端系統是一種TSN網絡接入設備,可以對非TSN終端產生的業務數據進行緩沖、流量整形后發送到TSN網絡,實現TSN網絡對端系統所要求的接入功能。這兩類端系統可以看作實現業務匯聚功能的專用TSN交換機,而且在隊列管理器設計上具有相似之處。下面以第二類端系統中的隊列管理器為例加以分析,此時端系統的應用場景和外部連接關系如圖2所示[1]。

圖2 接入型端系統在時間敏感網絡中的位置

當端系統為多個不同類型的終端提供TSN網絡接入時,需要對不同類型的業務進行識別、緩存以及輸出調度,TSN把業務分成8個基本類別,其中,時間敏感型業務有音頻業務、視頻業務和各種控制數據;非時間敏感型數據業務包括最大努力業務、卓越努力業務、關鍵應用業務和背景業務流。來自不同終端的數據流經過業務合路后統一進行識別和分類,區分時間敏感流和非時間敏感流[3],然后進入隊列管理器。本文設計的端系統隊列管理器的基本功能如圖3所示。圖中的輸入控制狀態機負責將輸入以太網幀分割成定長的內部信元,并寫入當前可用自由指針指向的數據存儲區;數據存儲區是所有輸出業務流共享的,采用雙端口靜態隨機訪問存儲器(Static Random Access Memory,SRAM)實現,被劃分為多個64字節的數據塊;自由指針隊列管理著SRAM中當前可用數據緩沖區的指針;緩沖區管理器內部可以以鏈表形式管理多個邏輯隊列,用于存儲不同類型的業務;隊列調度器可以根據TSN網絡的配置,確定不同邏輯隊列的輸出調度方式,支持靈活的動態配置;輸出接口狀態機可以根據輸出調度結果將數據幀從SRAM中讀出并發送到TSN網絡。緩沖區管理器和隊列調度器是本設計中的兩個核心電路[4],是進行設計和分析的重點。

圖3 端系統中的隊列管理器整體結構[5]

2 端系統中隊列管理器的設計與實現

本設計的隊列管理器中的緩沖區管理器和隊列調度器的詳細結構如圖4所示。其中緩沖區管理器包括指針寫入控制狀態機、隊列管理狀態機、指針讀出狀態機和存儲在鏈表存儲區中的指針隊列;隊列調度器包括針對16個流采用的基于信用的整形器(Credit Based Shaper,CBS)[1]、不同優先級隊列之間采用的嚴格優先級調度器和支持可配置門控列表的輸出門控電路[2],三者相互配合,實現端系統的輸出業務調度功能[6]。

圖4 緩沖區管理器和隊列調度器的詳細結構

緩沖區管理器決定了輸入端口緩沖區的分配方式,主要功能是對輸入端口有限的數據緩沖區進行合理分配和使用。由于端系統需要將多個端口輸入的業務匯聚到一個端口進入TSN網絡,不同類型的終端產生的數據業務具有各自的流量特征,可能在TSN網絡端口處發生擁塞,造成緩沖區溢出和數據丟棄。緩沖區管理器需要根據業務類別、各自的QoS需求、業務優先級等,合理劃分和使用有限的緩沖資源,最大限度地保證時間敏感型業務的緩沖區需求,在一定范圍內共享緩沖資源以提高緩沖資源利用率,并按照優先級權重對共享進行管理等[4]。

隊列調度器決定了輸出帶寬的分配方式,主要功能是根據TSN網絡規范和不同類型業務的QoS需求進行業務輸出調度。它可以按照CNC給出的配置參數,針對不同類型的業務采用不同的調度策略,合理分配輸出帶寬,對進入TSN網絡的業務流進行整形,使其既可以符合所配置的流量特征,也可以滿足業務本身的QoS需求[5]。

2.1 基于鏈表結構的緩沖區管理器的設計與實現

端系統作為時間敏感網絡的接入設備,從多個終端設備中接收數據幀,而內部存儲資源有限,為了提高存儲區的利用率,也為了保障端系統正常運行,采用了一種基于鏈表結構的邏輯隊列共享緩存的緩沖區管理方法[3]。其原理是將內部緩沖區劃分為64字節的存儲塊,每個存儲塊對應一個指針,當前可用的數據緩沖區對應的指針被存儲在圖中的自由指針隊列中,自由指針中包含對應存儲塊的地址。當一個數據幀到達后,它先被分割成1個或多個長度為64字節的定長內部信元(長度不足時需要進行數據填充)。輸入接口狀態機處理輸入信元時,會首先從自由指針隊列讀出一個自由指針,其次將當前信元寫入該指針指向的共享數據存儲空間中,最后該指針根據其對應數據幀的類別被寫入到緩沖區管理器內部相應的邏輯隊列中。

緩沖區管理器可以同時管理多個邏輯隊列。每個邏輯隊列對應著包括頭指針(head)、尾指針(tail)、信元深度(cell_depth)、數據幀數(frame_depth)、隊列非空標志(depth_flag)在內的一組寄存器。本設計中包括8個優先級隊列和16個基于流的隊列,因此共包括24組寄存器。如圖5(a)所示,以隊列0為例,進行寫入操作時,當前到達的指針(圖中值為100的指針)如果是一個隊列的第一個指針,則head0和tail0的取值同時為100,cell_depth0值變為1,由于該數據幀中包括多個信元,因此frame_depth0保持為0。此后,多個信元到達,相應的指針在指針存儲區中以鏈表方式進行存儲,假如當前數據幀包括3個信元,那么當前隊列指針鏈表的構成如圖5(b)所示。此時frame_depth0的值由0變為1,depth_flag0由0變為1,表示當前隊列中有完整的數據幀,可以被調度輸出。指針讀出控制狀態機持續監視每個邏輯隊列的狀態,如果發現某個邏輯隊列中有完整的數據幀,就會向隊列管理狀態機申請將該邏輯隊列隊首的指針讀出。隊列管理狀態機根據head0的值(100)及鏈表存儲結構[3],可以依次讀出該隊列的多個指針,直至tail0所指向的存儲區。讀出的指針由讀出控制狀態機寫入與該邏輯隊列對應的臨時指針緩沖區中。

圖5 鏈表存儲區結構

臨時指針緩沖區由一個深度很小的先入先出存儲器(First In First Out,FIFO)構成,本設計中針對16個流和8個優先級隊列分別設置了一個臨時指針緩沖區(圖中stream0-stream15、class7-class0對應的FIFO),用于存儲各邏輯隊列首部的指針。傳統的緩沖區隊列中通常不設置臨時指針緩沖區,本設計是為了滿足TSN對輸出調度實時性的要求而增加的。圖5中鏈表隊列的寫入和讀出操作是互斥的,這使得隊列調度器從某個邏輯隊列中讀出指針的時延可能較大并存在抖動。采用臨時指針緩沖區后,隊列調度器可以根據調度需要實時讀出所選擇隊列首部的指針,消除了隊列管理狀態機的指針讀出操作時延不確定性,保證了輸出數據幀的實時調度,可滿足端系統對時間敏感業務調度的時間精度要求。

本設計中的緩沖區管理器把緩沖區分塊,建立對應數據塊指針,把指針以鏈表的形式存入存儲區,并給各個隊列建立臨時指針緩沖區,使得端系統的多個輸入端口可以共享緩沖區,給時間敏感型業務預留一定存儲資源,提高端系統的抗壓性能,滿足時間敏感網絡的需求。

2.2 支持多種調度算法的隊列調度器的設計與實現

本設計中的隊列調度器調度數據時,使用了嚴格優先級調度算法和CBS調度兩種調度算法,調度算法配合門控實現了對時間敏感型業務的特殊調度,最終實現對時間敏感業務的帶寬保證和時延保證。隊列調度器中使用8個門來控制8個優先級的緩沖隊列,隊列調度器通過門控列表控制門狀態和門操作的執行時間,相鄰兩次門操作之間的時間間隔相等。門控列表和門操作間隔都可以由CNC配置,門狀態為open時代表允許該門對應優先級的緩沖隊列傳輸數據,當同一時刻有多個門狀態為open時,不同優先級之間的緩沖隊列按照嚴格優先級算法進行傳輸。按照需要制定門控列表并執行門操作,可以給時間敏感業務提供保證帶寬和確定性時延的服務。如圖4所示,T1時刻門狀態為OCCCCCCC,表示門7為open,其他門均為closed,即在T1到T2時間段內,僅允許優先級為7的數據幀傳輸,這段時間的端口帶寬被全部用來傳輸優先級為7的數據幀,控制每個時間片內門7開啟的時間段,可以精確控制優先級為7的業務流占用的總帶寬;控制相鄰門7兩次開啟的時間間隔,可以精確控制時間敏感業務的流量分布。這種通過配置門控列表確定時間敏感業務流量分布特征的方式可以精確控制時間敏感業務在每個節點的時延,從而可以精確控制時間敏感業務的端到端時延。

不同優先級的緩沖隊列使用嚴格優先級算法選出傳輸的數據幀,相同優先級的緩沖隊列使用CBS調度算法選擇數據幀。如圖4所示,門7后共有17條優先級為7的緩沖隊列,包括class7和 stream0~ stream15,端系統會根據stream0~ stream15的業務需求和流量特征給每條流配置不同的信用參數。門7開啟時,隊列調度器使用CBS調度算法從stream0~stream15中選出數據幀進行傳輸,若stream0~stream15中沒有符合發送條件的,則發送class7中的數據幀。

CBS調度算法主要根據隊列信用進行調度,隊列信用相關參數則是在端系統初始化時由CNC配置的,包括最大信用值hicredit、最小信用值locredit、信用值增加速率idlesope和信用值減小速率sendslope。門7的狀態為open且stream0-stream15中有等待傳輸的數據幀時,該緩沖隊列的信用以idlesope的速率開始增長。門狀態為open時隊列信用值開始累加,門狀態從open轉為closed時隊列信用值清零且保持不變,直到下一個open狀態。數據幀在門狀態為open且該隊列信用值為非負數的時候可以開始傳輸,數據幀傳輸時隊列信用值以sendslope的速率減小,當前數據幀傳輸完成后若隊列中還有數據幀等待傳輸且信用值為非負數,則開始傳輸下一個數據幀。如圖6所示,0到t1時間段內,該隊列沒有數據幀等待,隊列信用值保持為0;t1時刻,數據幀A進入隊列,此時端口為空閑狀態可以發送數據幀,開始發送數據幀A;t1到t2時間段內,數據幀A通過端口發送出去,該隊列的信用值以sendslope速率下降;t2時刻,數據幀A發送完畢;t2到t3時間段內,該隊列信用值以idlesope速率上升;t3時刻,該隊列信用值上升到0,但此時隊列中沒有等待發送的數據幀,隊列信用值保持為0。

圖6 發送數據幀時隊列信用的變化

隊列信用相關參數與隊列占用帶寬之間存在對應關系,假設門打開時某隊列中有數據幀,且每次該隊列傳輸數據幀信用值都剛好降低到locredit,門打開時,傳輸數據幀的時間和門打開時間之前的比值為:

根據式(1)可知,在門打開時,該隊列占用輸出端口傳輸數據的時間和門打開的總時間之間的關系為該隊列信用增加速率和信用減小速率的代數關系,說明通過CNC配置隊列信用相關參數可以精確控制該隊列在門打開時占用輸出端口傳輸數據的時間,CBS調度算法配合門控列表可以精確控制該隊列占用的總帶寬。門控機制結合嚴格優先級和CBS算法可以實現對時間敏感業務的帶寬保證和時延 保證。

3 關鍵電路仿真分析

本文設計的隊列管理器基于Xilinx Zynq7020 FPGA實現,圖7、圖8、圖9是典型仿真波形。圖7中,PHYA_rgmii接口包括信號PHYA_rgmii_rxc、PHYA_rgmii_rx_ctl和PHYA_rgmii_rxd,連續輸入長度為1 000字節的以太網數據幀(PHYA_rgmii_rx_ctl為1表示當前正在輸入1個數據幀),該業務流在電路內部采用CBS算法進行流量整形。可以看出,大量輸入的數據幀被丟棄,只有在該隊列的信用值符合輸出調度要求時,才會將當前隊列首部的數據幀輸出,此時,PHYA_rgmii_tx接口按照一定間隔輸出經過流量整形的數據幀,說明CBS調度器可以基于信用配置進行數據幀的輸出調度。

圖7 CBS算法仿真結果

圖8中,通過用戶端口A和用戶端口B分別連續輸入長度為1 000字節和500字節的數據幀,二者輸入帶寬之和大于輸出端口的帶寬。此時在輸出端口上觀察PHYA_rgmii_tx_ctl可以看出,端口A輸入的長度為1 000字節的數據幀數量明顯多于端口B輸入的長度為500字節的數據幀,說明隊列調度器可以按照優先級進行數據幀的輸出調度。

圖8 嚴格優先級算法仿真結果

圖9中,輸入端口A輸入的數據幀按照信用進行調度輸出,端口B輸入的數據幀按照優先級進行調度。如圖9所示,長度為1 000字節的數據幀根據信用累計情況近似等間隔輸出,長度為500字節的數據幀占據了剩余的帶寬。

圖9 CBS算法和嚴格優先級聯合仿真結果

綜上仿真分析可見,本文實現的隊列管理器可以滿足TSN對端系統關于業務緩沖和調度功能的需求。

4 結語

本文設計了一種應用于TSN端系統的隊列管理器,說明了隊列管理器的工作流程,分析了采用邏輯鏈表實現的緩沖區管理器的工作機制,分析了支持CBS算法、嚴格優先級調度和門控列表的隊列調度器的工作機制和關鍵工作參數。仿真分析表明,所實現的隊列管理器可以滿足TSN端系統對用戶業務進行緩沖和分類調度的需求。

主站蜘蛛池模板: 麻豆精品在线视频| 国产精品视频猛进猛出| 2021无码专区人妻系列日韩| 女人18毛片水真多国产| 欧洲精品视频在线观看| 99视频在线免费观看| 波多野结衣第一页| 67194在线午夜亚洲| 夜夜高潮夜夜爽国产伦精品| a毛片在线免费观看| 国产精品网址在线观看你懂的| 思思热精品在线8| 欧美啪啪精品| 欧美精品色视频| 97国产一区二区精品久久呦| 香蕉视频在线观看www| 亚洲视频免费在线| 国产午夜精品一区二区三| 浮力影院国产第一页| 色综合综合网| 专干老肥熟女视频网站| 亚洲综合婷婷激情| 一本综合久久| 日本成人福利视频| 欧美国产精品拍自| 亚洲美女操| 麻豆精品在线播放| 欧美yw精品日本国产精品| jizz国产在线| 天天婬欲婬香婬色婬视频播放| 国产清纯在线一区二区WWW| 亚洲av日韩综合一区尤物| 男人天堂伊人网| 国产精品视频白浆免费视频| 最新日韩AV网址在线观看| 少妇精品网站| 国产一级无码不卡视频| 成人午夜精品一级毛片| 97在线免费| 3p叠罗汉国产精品久久| 亚洲一区波多野结衣二区三区| 午夜视频在线观看免费网站| 99这里只有精品6| 性色在线视频精品| 国产精品永久在线| 亚洲系列无码专区偷窥无码| 日韩人妻无码制服丝袜视频| 成年人福利视频| 国产精品hd在线播放| 亚洲日韩精品无码专区| 国产精品中文免费福利| 少妇被粗大的猛烈进出免费视频| 免费看一级毛片波多结衣| 国产视频大全| 国产精品99在线观看| 香蕉eeww99国产精选播放| 91青青草视频| 久久婷婷国产综合尤物精品| 青青草91视频| 亚洲一区免费看| 欧美成人手机在线观看网址| 色噜噜在线观看| 91小视频在线观看| 色噜噜中文网| 无码AV高清毛片中国一级毛片| 国产剧情无码视频在线观看| 亚洲一区二区三区中文字幕5566| 多人乱p欧美在线观看| 农村乱人伦一区二区| 久久亚洲综合伊人| 在线免费不卡视频| 中国国产高清免费AV片| 福利视频一区| 免费一级毛片在线播放傲雪网| 国产专区综合另类日韩一区 | 日韩精品一区二区三区视频免费看| a毛片免费看| 日韩无码一二三区| 丝袜无码一区二区三区| 高清精品美女在线播放| 免费一级毛片| 久久一本精品久久久ー99|