?

TTE高完整性和標準完整性配置下同步機制和容錯能力對比分析

2020-03-03 08:27楊勁赫湯雪乾
載人航天 2020年1期
關鍵詞:遺漏完整性時鐘

楊勁赫,李 峭,湯雪乾

(北京航空航天大學電子信息工程學院,北京100191)

1 引言

在航天電子系統中的嵌入式計算應用中,綜合模塊化航空電子系統(Integrated Modular Avionics,IMA)為不同的航天電子應用提供開放和穩定的資源共享框架?;诨旌详P鍵安全性等特點的分布式航空電子系統(Distributed Integrated Modular Avionics,DIMA)作為 IMA的進一步升級,提升了可擴展性[1]和混合關鍵性綜合化互連的能力。SAE AS6802標準規定的時間觸發以太網(Time-Triggered Ethernet,TTE)是基于標準以太網開發的一種時間觸發架構通信網絡,具有實時、開放、安全以及滿足混合關鍵安全性等特點,因此能較好地滿足DIMA的要求,被廣泛應用到航天電子系統中[2-3]。NASA已經使用TTE來提高航天電子系統的容錯能力,并證明TTE對拜占庭錯誤有很高的容忍度[4-6]。SAE AS6802標準為TTE規定了一種分布式時鐘同步協議。根據配置的不同,TTE同步組件可以分為高完整性(Highintegrity,HI)組件和標準完整性(Standardintegrity,SI)組件,在不同的完整性配置下,TTE網絡時鐘同步機制不同。為保證時鐘同步的可靠運行,TTE網絡為不同組件設計了不同的時鐘同步容錯機制,高完整性組件具有更加精準的分布式時鐘同步功能和更強大的故障容忍機制[7]。近年來,TTE在眾多實時應用中發揮著至關重要的作用,例如航天電子、汽車工業和其他工業網絡物理系統。Loveless[4]在實驗中同時配置了高完整性的交換機與標準完整性的端系統,驗證了高完整性組件將故障限制為不一致-遺漏模式。蘭杰等[8]實驗證明了高完整性配置下的TTE網絡時鐘具備對抗單節點隨意失效的能力。

時鐘同步是實現時間觸發架構的關鍵基礎,對不同完整性配置下TTE時鐘同步機制的容錯能力進行驗證十分有必要。本文介紹了SAE AS6802標準規定的TTE同步服務與容錯機制,分析了高完整性與標準完整性配置下TTE同步機制的區別,通過網絡仿真對2種配置下TTE時鐘同步機制容錯能力的差異進行驗證分析。

2 TTE的時鐘同步機制

時鐘同步服務的目的是確保通信基礎設施中組件的本地時鐘保持彼此同步。研究時鐘同步機制不僅要考察正常工作情況下的時鐘同步功能,還需要關注時鐘同步過程中同步組件的狀態和行為。

2.1 同步過程

在TTE的同步服務中,組件被分為3類:同步主控器(Synchronization Master,SM)、壓縮主控器(Compression Master,CM)和同步客戶端(Synchronization Client,SC)。多數情況下,SM 與 SC配備于端系統,CM則一般由交換機充當。而同步消息則通過協議控制幀(Protocol Control Frame, PCF)來傳遞。

PCF幀有冷啟動幀(Cold Start,CS幀)、冷啟動應答幀(Cold Start Acknowledge,CA幀)和綜合幀(Integration,IN幀)3種類型。PCF幀中的透明時鐘域會記錄幀的派發時刻td、傳輸延遲Dtrans、接收時刻treceive等同步信息。

通信設施的啟動過程伴隨著CS幀、CA幀的交換。CS幀與CA幀的交換稱為容錯握手[9]。該過程中,CM不會對CS幀進行壓縮,對CA幀也只是附加延遲后將其返回。在容錯握手之后,同步設備將會進入協議狀態機中表示同步操作的一個狀態,即開始同步過程。同步過程中各個組件將會進行IN幀的交換,其過程與容錯握手的方式相同,如圖1所示。SM將PCF幀發送到CM,然后CM根據這些PCF的相對到達時間計算平均值,作為響應統一返還新的PCF。新PCF也會發送到SC。由于PCF幀的接收時間與發送時間有偏差,CM將對IN幀進行固化和壓縮,獲取時鐘修正值,在對本地時鐘進行修正后,把同步信息附加在IN幀中返還給各個端系統。各個端系統也將對IN幀進行固化,還原發送時刻,得到時鐘修正值來對自身的本地時鐘進行修正。而為了保持各個時鐘始終處于同步,每隔一個固定的時間段,系統就會再次進行同步。這個過程稱為集群周期。

圖1 TTE同步過程Fig.1 Synchronization process of TTE

SM的協議狀態機有異步狀態和同步狀態,異步狀態包括SM_Integrate狀態、SM_Wait_4_Cycle_Start狀態、SM_Unsync狀態、SM_Flood 狀態和SM_Wait_4_Cycle_Start_CS狀態,同步狀態包括SM_Tentative_Sync狀態、SM_Sync狀態和SM_Stable狀態。

當SM是標準完整性時,CM只會派發用于自身時鐘同步的壓縮過的PCF幀,這樣可以防止故障幀的傳播;當SM配置為高完整性時,不管是否已經用于CM自身的時鐘同步,所有的PCF幀都被派發。

2.2 固化與壓縮

通過固化功能與壓縮功能,可以獲取較為精確的時鐘修正值,用于各個組件的本地時鐘修正,實現同步。固化功能在SM、SC、CM中都有實現,而壓縮只在CM中實現。

固化功能用于還原PCF幀發送的真實時刻。每個節點都可能接收多個的PCF幀,固化功能將還原它們的正確發送順序。通過透明時鐘內攜帶的同步消息,可以計算固化時刻點tp,如式(1)所示:

式中,Dmax為最大傳輸延遲,treceive為本地時鐘測得接收時刻點的值,Dtrans為PCF幀從發送端到接收端的傳輸延遲。

壓縮功能在接收到PCF幀時開始啟動,而不是在同步的本地時鐘到達某一個時間點時開始。CM在第1個不屬于當前同步的固化時刻點tp,1打開一個長度為P的接收窗,P/2為系統的預設精度。若在該接受窗內至少接收到2個固化時刻點,則打開下一個接收窗。從第2個接收窗開始,若收集到至少一個固化時刻點,則打開新的接收窗,直到窗的長度達到最大值Wmax=(f+1)×P,f為所容忍的錯誤的SM個數,SM的總數為n。否則關閉窗并不再打開新的接收窗。

對于接受到的PCF幀,通過具有容錯能力的均值公式(Falut-Tolerant Average,FTA)來計算壓縮修正值。tp,i為第i個不屬于當前同步的固化時刻,定義后續固化時刻點與tp,1之間的時間間隔為 ki=tp,i-tp,1[10],具體計算如表1所示。

表1 FTA計算壓縮修正值Table 1 Calculation of compression correction value

得到修正值tcc后,CM對壓縮時刻點t進行計算,如式(2)所示:

式中,tco為固有計算開銷。以t為基準,CM將PCF幀發回到SM。CM不會在同一時刻點操作高完整性和標準完整性配置的SM,因此同步時對PCF幀的處理因高完整性與標準完整性配置差異而有著顯著的區別,如表2所示,高完整性配置的SM只會壓縮IN幀,標準完整性配置的SM則會壓縮CA幀和IN幀。

表2 不同完整性下對PCF幀的處理Table 2 Processing of PCF with different integrity

不同完整性配置下,TTE同步組件的對PCF幀的響應也不同。當配置為標準完整性時,SM會對所有CS幀做出響應。CM將僅轉發與CM的本地時鐘同步的IN幀,在派發時刻點到來時將壓縮后的IN幀發送。并且通過漏桶算法[11],每一個集群周期都只會接收來自每個SM的一個PCF幀。

當配置為高完整性時,SM僅會對來自其他SM的CS幀做出響應。CM將轉發所有IN幀。并且高完整性的設計將會阻止SM在一個集群周期內發出多個IN幀。

3 TTE的時鐘同步容錯機制

3.1 失效模式與假設

TTE在同步過程中出現的各種故障總是與SM、CM等組件及其接口的行為有關,常見的各種失效模式包括以下3種:

1)寂靜失效。同步組件處于靜默狀態,不會對任何輸入做出回應,停止輸出。

2)不一致-遺漏失效。這種失效模式是不一致失效和遺漏失效的組合。在接收來自不一致失效組件的消息時,群組內的一些組件會收到正確的消息,而另一部分收到的則是錯誤的消息。而處于遺漏失效模式的組件則無法成功發送或接收任意數量的幀。

3)隨意失效。處于該失效模式的組件會不可控地在任意時間產生任意消息,并且這種失效模式會不受控制地產生不一致失效。

TTE網絡支持單點失效和雙點失效2種類型的失效假設。在單點失效假設下,TTE旨在容忍終端系統的任意故障或交換機的不一致-遺漏故障。TTE中的交換機可以配置為執行中央總線監控功能。中央總線監控功能確保即使一組端系統出現隨意失效,它也會通過將其轉換為不一致-遺漏失效模式來消除這些故障終端系統的影響;在雙點失效假設下,TTE旨在容忍2個不一致-遺漏失效設備,這些設備可以是2個端系統,2個交換機或1個端系統和1個交換機。

高完整性與標準完整性配置的TTE具有的同步容錯能力有明顯差異。當配置為高完整性時,SM和CM的故障模式限制為不一致-遺漏故障。根據SAE AS6802標準,在高完整性配置的TTE網絡中,組件包含了如圖2所示的指令/監視對結構,以應對不一致-遺漏失效模式。

圖2 指令/監視對結構Fig.2 Structure of Com/Mon pair

當配置為標準完整性時,TTE容忍單個SM的隨意故障或單個CM的不一致-遺漏故障,但不能同時容忍兩者同時出現。

由于標準完整性配置下的SM在同步過程中會對自己發出的CS幀做出響應,即某個SM也可能從未與其他的節點進行過正確的“握手”,獲取有效的時間修正信息,從而造成隨意失效,這也是標準完整性配置的TTE無法對抗隨意失效的原因。由于高完整性配置的SM只對來自其他SM的CS幀做出響應,保證了“握手”的有效性,避免了隨意失效的發生,因而比標準完整性配置具有更強的容錯能力。在高完整性配置下,TTE能容忍SM和CM的并發故障。

3.2 結團檢測

結團是指同步域中某一些節點(但不是全部)形成了同步并可以維持,但其他的節點無法參與同步,也就是整個系統未能達成正確的同步。常用的結團檢測包括同步結團檢測與異步結團檢測,具體如圖3所示。

同步結團檢測用設備本地變量local_sync_membership跟蹤與當前達到同步的SM數目。local_sync_membership是一個位向量,與 pcf_membership_new中對SM與位的指定一致。pcf_membership_new為PCF幀中的位向量,當某一位為1時,表示該PCF幀攜帶了該位所對應SM的時間信息。同步結團檢測功能可以在TTE協議狀態機中的每個同步狀態獨立的使能或禁止。當同步結團檢測服務工作時,local_sync_membership與狀態定義閾值進行對比,如果local_sync_membership中設置位數比相應的閾值小則表示檢測出結團情況。

圖3 結團檢測Fig.3 Clique detection

異步結團檢測功能使用2個本地變量local_async_membership[0]和local_async_membership[1]用于跟蹤當前與相應設備不同步但可用(不包括關閉電源的 SM)的SM的數目。local_async_membership{0||1}都是位向量,與 pcf_membership_new中對SM的分配關系一致。

異步結團檢測功能監視通信鏈路中預期外到達的PCF幀。這種情況可能是該幀的固化時刻點在接受窗口外,也可能是固化時刻點在接受窗口內但有錯誤的集成周期值。

4 不同完整性配置同步的仿真對比

4.1 仿真實現與參數配置

OMNet++是一個可擴展、模塊化、基于組件的C++仿真庫和框架,主要用于構建網絡的仿真。該軟件提供基于Eclipse的IDE、圖形運行時環境和其他工具,有實時模擬、網絡仿真、數據庫集成、SystemC集成等功能的擴展[12]。本文利用OMNet++,根據SAE AS6802標準建立TTE的仿真模型,進行同步及容錯仿真實驗。

同步仿真實驗的配置為:設置tick為10 ns,代表物理時鐘一個滴答的時間寬度,同步精度為50 tick。如圖4所示,實驗仿真的網絡有1個交換機和4個端系統。節點個數會影響FTA的計算以及錯誤節點的設置,但并不妨礙高完整性和標準完整性TTE的工作機制。

圖4 TTE仿真Fig.4 Simulation of TTE

5個節點的時鐘漂移率ρ如表3所示:

表3 節點時鐘漂移率設置Table 3 Clock drift rate setting

4.2 無失效正常同步

選取SM1和SM2進行無失效正常同步實驗,進行高完整性配置和標準完整性配置下的對比,如圖5所示。高完整性和標準完整性配置的SM最后都達到了同步穩定的狀態(SM_Stable),只是高完整性所需時間要略小于標準完整性。

圖5 無失效同步Fig.5 Normal synchronization

當同步節點進入同步狀態時,不同配置下各節點的時鐘修正值如表4所示,以tick為單位。時鐘同步修正值的最大值為17 tick,小于規定的同步精度(50 tick),說明所有的TTE網絡節點實現了全局同步。

表4 節點時鐘同步修正值Table 4 Clock correction value

4.3 單節點不一致-遺漏失效

設置SM1為故障狀態,不會向CM發送PCF幀。根據FTA算法,節點總數N與需要容忍錯誤節點的個數f需滿足N>3f,因此設定f=1。對比高完整性和標準完整性配置實驗結果,如圖6所示,標準完整性配置下同步所需時間為455μs,明顯大于高完整性配置下的時間293μs。

單節點的不一致-遺漏失效不會影響全局的同步,失效節點可以通過其他節點的同步信息在當前的集群周期中完成同步。

發生失效時,如果PCF幀落到接收窗外,高完整性配置的TTE網絡可以快速通過同步結團檢測服務將同步狀態退回到同步的初狀態并進行重啟動。而標準完整性要在下一個同步周期到來時,通過異步結團檢測才能進行重啟動。

4.4 多節點不一致-遺漏失效

圖6 單節點不一致-遺漏失效Fig.6 Inconsistent-Omission failure of single node

設置SM1和CM為故障狀態。SM1無法正常發送出CS、CA幀,CM也不會向其發送來自其他節點的CS幀與CA幀。因此SM1只能接受到IN幀。

如圖7所示,在CM和SM1同時失效的情況下,高完整性配置的TTE網絡節點可以完成同步(SM_Stable),而標準完整性配置的節點則無法進入最終的同步狀態,無法從SM_Tentative_Sync狀態跳轉到更穩定的同步狀態。

圖7 多點不一致-遺漏失效Fig.7 Inconsistent-Omission failure of multiple nodes

5 結論

通過對TTE高完整性與標準完整性的仿真驗證和分析,二者在機制上尤其是容錯能力方面的區別主要體現于:

1)2種完整性設計的時鐘同步機制都有一定的容錯能力,高完整性配置下TTE網絡時鐘同步機制的容錯能力更強,能對抗標準完整性所無法對抗的隨意失效。

2)面對不一致-遺漏失效時,高完整性配置的TTE網絡能更快地進入重啟動,因此反應速度要明顯快于標準完整性。相較于標準完整性配置,高完整性配置具有更好的安全性和可靠性。

3)具有高完整性設計的TTE對比標準完整性配置有更好的時鐘同步機制容錯能力和對故障的反應速度。

本文研究可以為航空航天等安全關鍵等級高的實時應用容錯配置提供論證參考。

猜你喜歡
遺漏完整性時鐘
總裝前完整性質量管控方法在岸邊集裝箱起重機制造中的應用
酶可提高家禽的胃腸道完整性和生產性能
遺漏的光陰
秋之思
古代的時鐘
這個時鐘一根針
有趣的時鐘
時鐘會開“花”
遺漏焦慮
你會收集數據嗎
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合