賈琪明, 李 峭, 熊華鋼
(北京航空航天大學,北京 100191)
對于具有實時性要求的分布式計算機系統(tǒng),實時通信是其性能保證的必要條件之一。在不同應用背景基礎上,提出了相應的實時通信協(xié)議,例如Profibus,CAN,TTP[1]和FlexRay[2]等。然而,近年來,隨著以太網(wǎng)實時適用性改造技術的成功應用,在標準以太網(wǎng)物理層和幀定義基礎上擴展的網(wǎng)絡互連技術,如ARINC664 Part 7標準定義的AFDX 網(wǎng)絡[3]、SAE AS6802 標準定義的時間觸發(fā)以太網(wǎng)(Time-Triggered Ethernet,TTE)[4]被應用于包括航空航天系統(tǒng)在內(nèi)的安全關鍵性或任務關鍵性實時系統(tǒng)。其中,TTE 網(wǎng)絡將時間觸發(fā)機制透明地集成在傳統(tǒng)以太網(wǎng)協(xié)議棧中,在IEEE802.3 以太網(wǎng)原有的介質訪問控制子層(MAC)之上加入了一層同步協(xié)議層,通過交換式網(wǎng)絡中的時間同步技術進行全局時鐘同步。支持時間觸發(fā)(Time-Triggered,TT)流量,在網(wǎng)絡運行的時候,根據(jù)調(diào)度時刻表發(fā)送和轉發(fā)時間觸發(fā)關鍵流量,保障了時間關鍵流量的傳輸,提高了網(wǎng)絡的確定性和實時性;同時,還兼容多種由事件觸發(fā)的虛擬鏈路通信類型,進而將不同時間關鍵性應用任務集成到統(tǒng)一的實時網(wǎng)絡中,構成具有混合關鍵性保證的分布互連實時系統(tǒng),即混合關鍵性實時系統(tǒng)。
TTE 網(wǎng)絡已經(jīng)在航空航天嵌入式平臺的系統(tǒng)互連中得到應用,例如美國的Orion 載人飛船采用基于1000BASE-CX 物理層和雙冗余配置的TTE 網(wǎng)絡綜合互連方案。
對于TTE 網(wǎng)絡的實時通信性能進行評價,可以采用最壞情況分析方法或仿真分析方法;前者包括軌跡法、確定性網(wǎng)絡演算[5-6]和形式化證明[7]等,得到的是保守的理論界限;與之相比,仿真雖然很難得到性能的邊界,但有助于了解系統(tǒng)在運行狀態(tài)的行為[8-9],得到的仿真數(shù)據(jù)經(jīng)過分析計算,可以與理論計算結果進行趨勢性的對比。
近年來,STEINBACH 等學者在已有仿真平臺的基礎上構建了TTE 網(wǎng)絡協(xié)議模型,然而這種實現(xiàn)方法不利于靈活調(diào)整模型參數(shù)。本文所述的工作采用自行開發(fā)仿真內(nèi)核的實現(xiàn)方法,利用離散事件仿真的方法調(diào)度各仿真模型之間互相訪問的行為,并合理地解決了使用事件仿真引擎調(diào)度具有全局時鐘同步的通信操作的問題。
通過分析TTE 網(wǎng)絡的操作規(guī)程,以基本的網(wǎng)絡組件來抽象化TTE 網(wǎng)絡中的端系統(tǒng)、交換機、鏈路等設備,并生成TT 和RC (Rate-Constrained)混合關鍵性實時保證流量,以及優(yōu)先級低于前兩者的“盡力傳”(Best Effort,BE)背景流量,給出了雙冗余網(wǎng)絡機制的仿真方法,精確地展示了TT 流量和RC 流量經(jīng)過各級交換路徑的轉發(fā)、流量管制、多路復用和冗余網(wǎng)絡合并選擇等操作,并關注流量端到端延遲和時延抖動的分析計算。
TTE 網(wǎng)絡采用全雙工通信鏈路,設備分為端系統(tǒng)和交換機兩類,采用星型結構與網(wǎng)狀結構混合的互連構型。如圖1 所示,交換機與終端之間采用全雙工點對點接入,為星型結構;交換機與交換機之間是網(wǎng)狀結構。在交換結構的基礎上,端系統(tǒng)還可以通過不同的端口分別接入雙冗余網(wǎng)絡。
圖1 TTE 網(wǎng)絡構型Fig.1 The topology of a TTE network
TTE 網(wǎng)絡按照流量的時間關鍵特性,從高到低將混合關鍵性流量分為以下3 類。
1)TT 流量。完全是嚴格按照離線設計的調(diào)度時刻表,在預先定義的時間段內(nèi)進行發(fā)送和轉發(fā),保證帶寬和延遲是預先確定的,具有最高的優(yōu)先級。
2)RC 流量。保證對于每個應用具有預先定義的帶寬,但對于具體發(fā)送的時刻沒有預先規(guī)定,可以通過最壞情況下的理論分析得到延遲和抖動的界限。
3)BE流量??梢哉J為是沒有實時性服務質量保證的背景流量,只有在TT 流量和RC 流量被保證的前提下才會利用剩余空閑的傳輸資源。
圖2 所示為混合流量在物理鏈路上的傳輸。如圖所示,一個交換機將來自兩個端系統(tǒng)的流量進行綜合,其中,TT 流量按照集成周期和集群周期依照調(diào)度時刻表進行TDMA 調(diào)度;而RC 流量和BE 流量在未被TT流量占用的空隙中傳輸,同時RC 流量的幀間隔還必須滿足帶寬分配間隔(Bandwidth Allocation Gap,BAG)的要求,以保證為每次傳輸配置充足的帶寬。
圖2 TTE 流量示例Fig.2 Sample flows in TTE
采用面向對象的方法對TTE 網(wǎng)絡的端系統(tǒng)、交換機、混合流量進行抽象建模,其中,TT 流量的交換主要根據(jù)調(diào)度時刻表控制每個端系統(tǒng)和交換機上的發(fā)送和接收窗口,同時在仿真中還考慮更加靈活的情況,被稱為調(diào)度解釋(schedule interpretation)[10],即當某個端系統(tǒng)決定不使用分配給它的時間窗,交換機識別該發(fā)送器沒有被激活,將省下的帶寬供其他等級流量使用;而對于處于低優(yōu)先級的RC 流量,異步工作的通信控制器可能在同一時刻點向同一交換節(jié)點上的多路復用器發(fā)送流量,形成緩沖排隊,而可變的排隊等待時間正是導致RC 流量時延抖動的主要原因[11],需要對各交換節(jié)點上的處理機制進行抽象建模。
在交換機中,每一個輸入端口都有專用的緩沖隊列,并且對于TT 流量、RC 流量和BE 流量進行優(yōu)先級排隊。交換機根據(jù)靜態(tài)的路由信息,通過識別輸入端口收到數(shù)據(jù)包的VL 標識符進行轉發(fā)。對于TT 流量,交換機具有時間窗檢查機制;對于RC 流量中的每條VL 采用漏桶流量管制算法,限制其突發(fā)度。圖3 所示為能夠處理混合關鍵性流量的交換機端口功能模型,一臺TTE 交換機具有多個這樣的交換機端口。
仿真引擎通過面向對象的編程來實現(xiàn),事件的生成和推進被封裝在對象類的成員函數(shù)中。值得指出的是,對于TT 流量,由于事件必須在規(guī)定的時間窗內(nèi)發(fā)生,因此,事件的發(fā)生不僅取決于類中的成員函數(shù),還應該同時滿足調(diào)度時刻表的要求,如圖4 所示。
圖3 TTE 交換機端口的仿真模型Fig.3 Simulation model of TTE switch port
圖4 TT 流量調(diào)度引擎Fig.4 The scheduling engine of TT flows
在航空電子綜合化互連的應用場景下,主要考慮應用程序通過端系統(tǒng)接入網(wǎng)絡,并通過各級交換節(jié)點直到目的端系統(tǒng)過程中的各種類型的延遲,通信任務端到端延遲是一個重要的性能指標,時延抖動則是表征端到端延遲性能的關鍵參數(shù),它度量了最大傳輸時延和最小傳輸時延的差值。
將各種網(wǎng)絡組件的模型組成完整的端到端通信網(wǎng)絡,如圖5 所示。
圖5 端到端延遲分析Fig.5 End-to-end delay analysis
給定某條VL,對于屬于它的數(shù)據(jù)幀,測定從信號源的發(fā)送時刻與目的端系統(tǒng)接收到該幀的時間差值,取多條這樣的數(shù)據(jù)幀的仿真數(shù)據(jù),統(tǒng)計分析得到該VL端到端延遲的平均值、最大值、最小值和標準差,有助于評估其時延抖動情況。
其中,每次的端到端延遲是這樣計算的:假設TTotal_delay表示每條VL 總的端到端延遲,TES_Send_delay表示端系統(tǒng)發(fā)送流量過程中的傳輸延遲,Tswitch_delay表示流量在各交換機傳輸中的延遲,TES_Recv_delay表示端系統(tǒng)接收流量過程中的傳輸延遲,那么總的延遲計算方法為
假設VL 的當前長度為LVL,則可以將這3 個部分的延遲具體分解為
式中:Tsend_tech_delay,Tforward_tech_delay,TRecv_tech_delay和Tfilter_tech_delay為技術延遲;TES_mux_delay和TSW_mux_delay為排隊延遲;Ttrans_delay為VL 數(shù)據(jù)包在物理鏈路上的傳輸延遲,它取決于VL 數(shù)據(jù)幀長度LVL和物理鏈路的傳輸速率C。
采用C++編程語言完成了各網(wǎng)絡元素模塊的開發(fā),包括端系統(tǒng)、交換機、鏈路、不同類型流量、VL 等網(wǎng)絡元素的實現(xiàn),在Virtual Studio 的MFC 框架下實現(xiàn)了仿真功能、性能評價功能以及圖形化的集成用戶界面,并能夠對不同類型的混合關鍵性流量的端到端延遲情況進行綜合比較分析,評估網(wǎng)絡的實時性,同時,還采用了時間窗和流量管制機制分別對TT 流量和RC 流量的丟包率進行統(tǒng)計,驗證網(wǎng)絡的傳輸可靠性。
為了分析TTE 網(wǎng)絡運行過程中混合關鍵性流量的傳遞機制和各網(wǎng)絡組件的調(diào)度行為,本文給出一個利用該性能仿真工具進行分布式仿真的實例。表1 所示為實驗配置參數(shù),實驗中的TTE 網(wǎng)絡拓撲包括23 個端系統(tǒng)和5 臺交換機;鏈路傳輸速率為100 Mbit/s ;流量配置包括TT 和RC 的混合流量,共設有128 條VL,限于文章篇幅,表1 只列出典型的8 條VL 參數(shù)。
表1 混合關鍵性流量配置Table 1 Mixed-criticality flows configuration
續(xù)表1Continued from Table 1
將配置參數(shù)輸入到仿真軟件中,運行結束后可以統(tǒng)計得到網(wǎng)絡模型的仿真結果。在圖6 所示的仿真場景下,表1 所列8 條VL 的仿真結果如圖7 和表2 所示。
圖6 TTE 網(wǎng)絡仿真拓撲結構Fig.6 The simulation topology of the TTE network
觀察圖7 可見:
1)在相同長度、周期、路徑等參數(shù)配置下,圖7a中VL3 所承載的TT 流量端到端延遲明顯較VL7 承載的RC 流量小;
2)對比圖7a 中VL8 和圖7b 中VL6 可知,當RC流量較長且鏈路利用率較高時,時延抖動會相應增大,表明RC 流量的端到端延遲和抖動主要與各交換節(jié)點多路復用排隊機制以及自身長度有關;
3)觀察圖7a 中VL1 和圖7b 中VL4,TT 流量的發(fā)送與接收由調(diào)度時刻表中的時間窗決定,能有效避免因流量長度變化而導致的突發(fā)度影響。
表2 給出了各條VL 端到端延遲的統(tǒng)計參數(shù)??梢钥闯?當TTE 網(wǎng)絡存在TT/RC/BE 混合流量時,TT流量的時延抖動可有效控制在亞微秒量級;當采用雙冗余網(wǎng)絡后,仿真結果依然能滿足設計要求,這表明TT 流量具有嚴格的時間確定性;當網(wǎng)絡中存在高優(yōu)先級的TT 流量時,RC 流量的端到端時延抖動依然處于ARINC664 Part 7 協(xié)議規(guī)定的500 μs 范圍內(nèi)。
圖7 混合流量端到端延遲曲線圖Fig.7 End-to-end performance curve of the mixed-criticality flows
表2 端到端延遲分析Table 2 Delay analysis of mixed-criticality flows
以離散事件的方法構建了時間觸發(fā)網(wǎng)絡仿真模型,完成了一套完整的TTE 網(wǎng)絡實時通信仿真工具,具備了對于混合關鍵性流量進行端到端延遲和抖動數(shù)據(jù)分析的能力。通過結合實驗案例對延遲曲線的均值、極值和標準差等統(tǒng)計數(shù)據(jù)進行分析比對,表明TT 流量具有嚴格的時間確定性,同時,RC 流量能夠在合理配置的前提下與TT 流量共存,但其時延抖動參數(shù)在網(wǎng)絡利用率較高的情況下波動較大,比TT 流量的延遲高1 個數(shù)量級,說明對于大型機載航電系統(tǒng)等具有高安全性等級的應用,時間觸發(fā)通信具有技術優(yōu)勢。該模型進一步揭示了混合關鍵性流量的傳遞機制,為設計和改進分布式綜合航空電子系統(tǒng)提供了重要的理論依據(jù)。
[1] KOPETZ H.Real-time systems—design principles for distributed embedded applications[M]. 2nd ed. New York:Springer,2011.
[2] FlexRay Consortium.FlexRay communications system-protocol specification,version 2.1 revision A[S]. Stuttgart:FlexRay,2005.
[3] ARINC 664P7.ARINC 664 aircraft data networks,part 7:Avionics Full Duplex switched ethernet (AFDX)network[S]. Maryland:ARINC Specification 664 Part 7,AEEC,2005.
[4] SAE Aerospace.SAE AS6802 Time-triggered ethernet[S].Detroit:SAE International,2011.
[5] LE BOUDEC J Y,THIRAN P.Network calculus:a theory of deterministic queuing systems for the internet [M].Berlin:Springer,2001.
[6] XIANG Y,WANG W,ZHANG X,et al. Performance research on time-triggered ethernet based on network calculus[J].Eurasip Journal on Wireless Communications and Networking,2014,8(2):1-13.
[7] ROBATI T,KOUHEN A E,GHERBI A,et al.An extension for AADL to model mixed-criticality avionic systems deployed on IMA architectures with TTEthernet[C]//Proceedings of the 1st International Workshop on Architecture Centric Virtual Integration(ACVI),2014:14-27.
[8] KENFACK H D,KORF F,STEINBACH T,et al. An extension of the OMNeT++ INET framework for simulating real-time ethernet with high accuracy[C]//Proceedings of the 4th ICST,2011:375-382.
[9] BRAU G,PAGETTI C.TTEthernet based architecture simulation with ptolemy II[C]//Proceedings of the 6th JRWRTC,2012:29-32.
[10] STEINER W.An evaluation of SMT-based schedule synthesis for time-triggered multi-hop networks[C]//IEEE 31st Real-Time Systems Symposium (RTSS),2010:375-384.
[11] 趙永庫,王紅春,唐來勝.AFDX 網(wǎng)絡端到端時延分析方法[J].電光與控制,2013,20(4):81-83.(ZHAO Y K,WANG H C,TANG L S. Analysis method of end-toend delays on an AFDX avionic network[J].Electronics Optics & Control,2013,20(4):81-83.)