APP下载

时间触发以太网时钟同步的容错方法分析

2015-12-20熊华钢

计算机工程与设计 2015年1期
关键词:结团冷启动完整性

兰 杰,熊华钢,李 峭

(1.北京航空航天大学 中法工程师学院,北京100191;2.北京航空航天大学 电子信息工程学院,北京100191)

0 引 言

先进的航空电子系统采用综合化体系结构[1],例如:大型飞机空客A380 和波音787 采用综合模块化航空电子(IMA)系统和AFDX[2]骨干互连,其核心综合处理模块在机架上集中安装。然而,虽然AFDX 网络采用了速率约束(rate constraint,RC)机制,但其端到端时延抖动可达百微秒量级,意味着综合化系统的时间完整性仍会受到不确定的通信传输的影响。

高完整性时间触发通信互连技术,具有精确的分布式时钟同步能力,并能进一步使异构的航空电子模块或主机之间实现同步并行处理,形成分布综合模块化航空电子(DIMA)体系结构,支持时间隔离和分区隔离相结合的分布式综合设计,具有严格时间确定、容错和可重构特性。

时间触发以太网 (time-triggered Ethernet,TTE)[3]是时间触发体系结构[4]在交换式互连实时通信领域的协议实现,不同于共享介质的TTP网络[5],它不能依靠监听总线进行同步,而是通过传递和处理专门的协议控制帧 (protocol control frame,PCF)实现,并在同步协议中设计了容错机制。

TTE已经在NASA 的载人飞船项目中获得实用[6]。另一方面,TTE 网络可以在同一物理网络上支持时间触发(TT)同步通信和异步通信流量,其中异步通信包含事件触发的速率约束 (RC)流量和 “尽力传” (best effort,BE)流量[7]。这样,TTE网络有望作为AFDX 的子集,在保证既有RC流量的基础上,扩展添加高完整性的TT 通信服务。

本文首先介绍TTE网络时钟同步算法与容错机制,分析其容错能力和实现效果,随后通过仿真实验的方法证实同步算法对抗单失效假设的有效性。

1 TTE网络时钟同步算法

根据同步的参照对象的不同,时钟同步算法分为外部同步算法和内部同步算法,前者使各个节点同步到一个外部的参考时钟;后者使各个节点彼此相互同步,即让各个节点之间的偏差值最小化。根据分布式同步结构的不同,可以分为对称式算法和非对称式算法。前者各个节点并不具有特殊性,它们平等地向相邻或者所有节点发送同步信息并根据远程节点的时间信息修正自己的时钟;后者也叫“主从式”算法,往往具有分层的等级结构。TTE 网络的同步采用内部同步算法,但其结构既非传统意义的对称算法——节点充当不同的主控器和客户端角色,也不是单个节点之间的主从同步——时钟的修正是完全分布进行的,但同步集群之间可以有优先级层次结构。在这种较为复杂的同步方法的基础上,TTE 网络协议还设计了时钟同步容错机制。

在TTE网络中,通过时钟同步服务保证分布式系统各节点之间时间触发通信的精确定时。在设备层次,存在3种同步基础设施[3]:同步主控器 (synchronization master,SM)、同步客户端 (synchronization client,SC)和压缩主控器 (compression master,CM)。并且,TTE 允许对于执行关键压缩功能的CM 进行冗余配置[8],以保障同步系统的抗摧毁能力。

1.1 同步方法

TTE网络中,同步节点之间通过协议控制帧[3]传递同步消息。其携带信息主要包括:“同步域”定义的节点所在同步域;“优先级”定义的同步节点的优先级;由 “类型”字段的枚举值定义的PCF的类型——即:冷启动帧 (CS)、冷启动应答帧 (CA)和综合帧 (IN),前两者用于启动过程,后者在每一次综合循环开始后传输,传递时钟同步消息;由 “综合循环”域的计数表示的PCF 所属的综合循环;“新成员”域的比特矢量每一位代表系统中与之对应的SM,为 “1”时表示该SM 和发送PCF 帧的节点之间进行同步操作;由 “透明时钟”域记录PCF 从发送端到当前节点所经历的传输时延[9],达到对网络传输时延进行实时测量的目的[10]。

TTE网络分布式时钟同步算法通过如图1所示的原理完成时钟同步。

在每个综合循环中,多个SM 在本地时钟到达综合循环的预设时间点向CM 发送IN 帧,由于存在时钟偏移,各个SM 发送IN 帧的真实时间会有差别,且传输延迟也有差异。

图1 TTE分布式时钟同步算法

CM 收到IN 帧的时序和发送时序不一致,需要执行固化功能,通过 “透明时钟”携带的传输延迟信息还原SM派发 (dispatch)IN 帧的真实时序和绝对时间间隔。随后,CM 对固化后的时刻执行压缩功能,即:对于还原的多个SM 的发送时刻取平均,作为时钟更正的基准值。CM 一方面根据基准值对自身时钟进行修正,另一方面根据基准值进行一段预设的延迟,再向SM 和SC派发压缩后的IN 帧。SM/SC也执行固化功能还原IN 帧的实际派发时刻,并将此实际时刻与期望时刻对比,算出本地时钟和基准值的差值,用以修正本地时钟。

1.2 固化和压缩的计算方法

固化功能使用 “透明时钟”记录的同步消息从发送端派发时刻td到最终接收端接收时刻tr所经历的传输延迟Dt,固化时刻点tp=tr+Dmax-Dt,其中,Dmax为最大可能的传输延迟。

压缩功能从第一个不与现有进程 (一般由硬件实现)含有相同综合循环值的固化时刻点tp,1时开始,并打开一个长度为P 的观察窗,如果在该观察窗内收集到至少2个固化时刻点则打开下一个观察窗;在第i (i≥2)个观察窗内,若没有收集到至少1个固化时刻点,则结束观察窗的打开和收集;若收集到至少1个固化时刻点,则打开第i+1个观察窗,直到最大观察窗长度TOWM= (f+1)×P,其中f 为需要容忍的错误SM 数。

观察窗的长度P 与同步的精度要求有关。通过在连续打开观察窗的机制,可使相互之间时间间隔超过该精度或者不在同一个综合循环内的PCF 帧由不同的进程分别处理[3]。时钟更正的基准值——压缩修正值tcc通过如下具有容错能力的均值公式 (fault-tolerant average,FTA)进行计算:

1个固化时刻点:tcc=tp,1

2个固化时刻点:tcc= (tp,1+tp,2)/2

3个固化时刻点:tcc=tp,2

4个固化时刻点:tcc= (tp,2+tp,3)/2

3×f 个以上固化时刻点:tcc为第f+1小和第f+1大的固化时刻点的算术均值。

FTA 算法的收敛性确保每组帧的均值有确界,而且这种方法避免了小数除法,便于采用硬件逻辑实现。

FTA 的计算固定开销为Tco,进一步得到压缩时刻点tcp=tp,1+TOWM+Tco+tcc。以tcp为基准,CM 将压缩后的PCF帧发送回SM,SM 仍使用固化功能接收。由于Dmax、Tco等参数已知,往返SM 和CM 的传输延迟由透明时钟可得,实质上每个参与同步的节点都是依据同一个压缩修正值tcc调整本地时钟。

1.3 最佳PCF帧

考虑低层组件可能发生故障的情况,压缩功能有可能出现多个进程,它们要么对应多段连续的时间窗,要么对应不同综合循环值的多组时刻点。在不同进程计算得到的压缩时刻点中,有的是错误的,有的由于没有达到足够的同步成员数目是不可信的。根据最多的固化时刻点计算得到的压缩时刻点最有可能是正确的,被称之为 “最佳的”。

在时钟修正阶段,CM 和SM 分别根据式 (1)和式(2)计算调度时刻点TS,以TS标定的一段时间为接受窗口

落在正常的接受窗口中,并且 “新成员”比特矢量域中 “1”的数目最多的PCF帧被称为 “最佳PCF帧”,因为它对应于最佳压缩时刻点,以此进行CM 和SM 的本地时钟修正。

2 TTE网络时钟同步容错

容错是通过协议控制在一定的程度上防止错误导致功能失效的机制;所谓 “错误”是指计算或观测的数值与真实的数值的差异。通常意义上,故障导致错误,如果对错误的影响不加以限制,就会造成失效。对于具有层次化结构的系统,低层组件的失效,对于上层功能而言是 “错误”。TTE 时钟同步的容错实质上是容忍网络节点操作的失效。

进行同步的时候,时钟、处理器和网络接口都有可能发生物理故障或逻辑错误,例如:硬件时钟不满足所谓“有限硬件时钟偏移率”准则的故障,被称为硬件时钟故障;而本地时钟的精度不满足给定的要求值P,被称为本地时钟错误。这些故障和错误是导致失效的基础性因素,但TTE网络时钟同步容错机制只需在上层协议考虑几种抽象的失效模式。

2.1 失效模式和失效假设

失效模式总是与网络接口的行为有关。典型的失效模式包括:

(1)静默:设备失效并停止输出。

(2)遗漏:设备将遗漏任意数目的发送/接受帧。

(3)不一致:这种模式仅出现于一个发送器向多个接收器的多播情况,不同接收器收到的信息不一致。

(4)不一致-遗漏:(2)和 (3)两种模式的组合。

(5)随意:不受控制的设备在任意时刻以任意的内容产生混乱的消息。

失效假设主要与失效节点的数目有关,每种假设下可以包含不同的模式。TTE 被设计对抗两种失效假设:单点失效和双点失效。在单点失效假设下:TTE 能够容忍一个端系统的 “随意”或一个交换机的 “不一致-遗漏”行为;在双点失效假设下:TTE网络可以容忍两个节点 (端系统或交换机)的 “不一致-遗漏”行为。

由于 “静默”和 “遗漏”不容易造成错误的传播,容错同步主要考虑的是对抗 “随意”和 “不一致”失效。

TTE网络可以采用标准完整性或高完整性配置,两者的容错能力的差别在于:

(1)虽然两种配置都可以消除不一致失效的影响,但高完整性系统反应更迅速;

(2)在冷启动的时候,标准完整性系统不能对抗随意失效,而高完整性系统可以;

(3)通过检测结团状态消除多点的不一致失效的效果也不同。

2.2 冷启动随意失效的消除

在通信设施上电后,SM 和CM 通过特殊的PCF 帧——CS与CA 完成握手。其过程同综合帧 (IN)的方式相同,但是CM 并不固化和压缩收到的CS帧,只是延迟并送回CA。握手通信后,节点进入到协议状态机中同步操作的初始化状态并开始同步。

TTE网络标准完整性或高完整性配置的主要区别在于:

运行状态时,前者CM 只返回所选取的最佳PCF 帧,而后者返回经过压缩的所有PCF帧,由接收SM 自行选择。高完整性实现的复杂程度高,在运行的时候可以保证SM的稳定性,即不会出现没有接收到有效压缩后PCF 帧的情况。

冷启动时,前者的SM 会应答包括自己发送的所有冷启动帧,有可能出现并没有和其它节点 (特别是CM)达成握手的情况,即并未达成综合循环的一致,由此形成随意失效;后者的SM 不会应答以SM 为来源的冷启动帧,并且不会在一个综合循环内发送超过一个IN 帧,SM 和CM会在有确界的差异内开始综合循环。由此,高完整性可以在冷启动的时候对抗随意失效,使得即使出现复杂的失效,也只是 “不一致-遗漏”失效。

2.3 不一致失效的消除

TTE网络除了可以沿用普通网络CRC的错误判断方式以外,其时钟同步还有独立的算法层面的不一致故障消除方式。如1.3中所述,接受窗口对同步消息帧分进程处理,这保证了与大部分节点时间差超过精度或者不是同一综合循环的PCF帧 (这两者都对应错误的时钟值)得到了不同的压缩时刻点;接受窗口和最佳PCF 帧的选取,可以选择出 “最佳的”压缩时刻点,从而消除不一致故障的影响。

2.4 结团的检测与消除

所谓的 “团” (clique)是指同步域中某子集。结团检测是为了解决 “团”中设备达成同步,但是同步无法超出子集的边界,即无法在各个子集间达到全局同步的问题。这种问题无法通过常规的不一致失效消除机制解决,需要随着综合循环进行周期性的结团检测。

结团检测分为同步和异步两种方式,如图2 所示。对某一同步节点,在同步检测每周期结束时进行 “同步评估”:将该周期内最佳PCF 帧的新成员值储存在 “本地同步成员列表”中,记录了本节点同步的SM 数量。在异步结团检测周期结束时进行 “异步评估”:将该周期内没有落在接受窗口或不在一个集成周期的PCF帧的 “新成员”矢量,对各矢量进行位逻辑或(bit-or)运算,储存在 “本地异步成员列表”中,代表不与当前节点同步的SM 数量。当“本地同步成员列表”的值小于 “本地异步成员列表”时,则说明形成结团,节点从同步状态转换到非同步状态。此时进行重启动,再次发送CS帧寻求握手,重新开始同步操作。

图2 同步结团检测和异步结团检测

3 时钟同步仿真

SIDERA 是一种针对时间触发体系结构下分布式实时系统的建模和软件仿真工具,由维也纳技术大学开发;可以实现启动、消息传递、时钟同步和成员列表维护等多种协议的仿真。利用该软件,设计并进行时钟同步仿真实验。

3.1 同步仿真设计

设v=50ns为物理时钟脉冲的宽度,并以v 作为时间单位。预期精度为1μs,即20×v。

进行单同步域下4个SM 节点和2个双冗余CM 节点的仿真实验,进行32轮同步,每轮同步时间为1ms。设定6个节点的本地时钟偏移率为ρi= {-2.5×10-4,-1.5×10-4,-0.5×10-4,0.5×10-4,1.5×10-4,2.5×10-4},其中i=1,…,6,ρ1 和ρ3 对应交换机上实现的CM1和CM2;ρ2,ρ3,ρ4,ρ6 分别对应SM1,SM2,SM3和SM4。

由于对于FTA 公式有节点总数n>3f,预设的需要容忍的错误SM 数为f=1。设定网络延迟区间为 [5,250]μs,带宽为100 Mbit/s。

针对 “静默”,“不一致-遗漏”,“随意”3种失效模式,设计6种仿真场景,实验1~实验4配置为标准完整性,实验5、实验6为高完整性:

实验1:无失效同步;

实验2:单节点静默失效同步——设置某SM 从第1轮同步开始失效,静默500μs后重启动,共失效5次,每次间隔约800μs;

实验3:单节点不一致遗漏失效同步——设置某节点从第22轮开始出现不同节点传输不一致的错误信息或者不发送信息,共出现两次,间隔约为5ms。

实验4:单节点随意失效同步——从第12轮同步开始,设置一个SM 出现本地时钟修正值的随意错误,并达到正常同步时不可能出现的较大数值 (仿真中设定为21×v),该SM 以此错误的数值进行修正,导致本地时钟错误,共仿真失效3次,每次间隔约2ms;

实验5:对照实验组——设置同实验3,但将所有节点配置为高完整性状态机。

实验6:多失效同步——设置不同节点按照实验2、实验3、实验5中的失效进行同步实验,用以验证不同类型的失效相互之间不会造成影响。

3.2 仿真结果及分析

仿真实验结果如表1及图3 所示。在图3 中,横轴为仿真时间,纵轴表示精度偏差 (Precision)和本地时钟修正值 (Correction),以v为单位。“精度偏差”以本地时钟偏离全局同步时钟的数值来衡量,如果超过20×v,则最大时钟偏差超过预设的TTE网络精度要求,意味着某些节点失去同步。

表1 TTE网络时钟同步容错仿真结果

图3 TTE网络时钟同步容错仿真

由表1和图3可见,TTE 网络同步算法对于单点失效具有全面的容忍能力,任意单点失效对全局时钟的精度影响是有界的。

根据同步状态的变化,实验2结果表明静默失效不会影响其它节点之间的同步。实验3结果表明不一致-遗漏失效不会影响全局同步,并且在当次综合循环中也可以通过其它节点的同步信息完成同步。

实验4和实验5的结果对比表明,随意失效会造成节点时钟精度的较大偏差,但是这只限于发生错误的节点,不会影响其它正常节点之间的全局同步。在标准完整性配置下,失效节点因为随意失效超过预设精度脱离同步后,由于在冷启动时并没达成综合循环的一致,从而不能再恢复同步。在高完整性配置下,失效节点会在下次同步中通过较大的时钟修正重新获得同步。实验6结果表明不同失效在恢复同步之后不会相互之间产生影响。

4 结束语

TTE网络的时钟同步算法能够确保其严格的确定性时间触发通信,通过对算法容错性能的研究可以帮助验证其可靠性。本文对TTE网络协议进行分析,将其同步服务的一般性描述还原为时钟同步算法的理论模型与容错机制。容错机制的关键内容包括:最佳PCF帧的选择对不一致失效的消除、高完整性配置在冷启动时对抗随意失效、结团的检测和消除。在容错机制的支持下,TTE 网络可以全面对抗单个的节点多种失效模式,达到高安全性实时系统的应用需求。通过仿真实验,印证了上述结论,并发现在对抗单随意失效时,高完整性配置具有更好的鲁棒性。

[1]XIONG Huagang,WANG Zhonghua.Advanced avionics integration techniques [M].Beijing:National Defense Industry Press,2009 (in Chinese).[熊华钢,王中华.先进综合航空电子技术 [M].北京:国防工业出版社,2009.]

[2]XIONG Huagang,LI Qiao,HUANG Yongkui.Study on the avionics full-duplex switched Ethernet standards[J].Aeronautic Standardization &Quality,2008,223 (1):25-28 (in Chinese).[熊华钢,李峭,黄永葵.航空电子全双工交换式以太网 标 准 研 究 [J].航 空 标 准 化 与 质 量,2008,223 (1):25-28.]

[3]SAE AS6802:Time-triggered Ethernet[S].SAE Aerospace Standard,2011.

[4]Koptez H.Real-time systems-design principles for distributed embedded applications [M ]. 2nd ed. New York:Springer,2011.

[5]SAE AS6003:TTP communication protocol[S].SAE Aerospace Standard,2011.

[6]Steiner W,Dutertre B.Layered diagnosis and clock-rate correction for the TTEthernet clock synchronization protocol[C]//The Proceedings of the 17th Pacific Rim Intl Symposium on Dependable Computing.IEEE,2011:244-253.

[7]LIU Wanchun,LI Qiao,HE Feng,et al.Research on timetriggerd Ethernet synchronization and scheduling mechanism[J].Aeronautical Computing Technique,2011,41 (4):122-127 (in Chinese).[刘晚春,李峭,何锋,等.时间触发以太网同步及调度机制的研究 [J].航空计算技术,2011,41(4):122-127.]

[8]Steiner W,Dutertre B.Automated formal verification of the TTEthernet synchronization quality [G].LNCS 6617:The Proceedings of NFM. Berlin: Springer-Verlag, 2011:375-390.

[9]IEEE 1588-2008:IEEE standard for a precision clock synchronization protocol for networked measurement and control systems[S].IEEE,2008.

[10]LI Jun,SUN Shuying,LIU Jiangyi,et al.Network clock synchronization based on real-time clock variance algorithm[J].Computer Engineering and Design,2013,34 (5):1538-1541 (in Chinese). [李军,孙书鹰,刘江义,等.基于实时时钟方差算法的网络时钟同步 [J].计算机工程与设计,2013,34 (5):1538-1541.]

猜你喜欢

结团冷启动完整性
轻型汽油车实际行驶排放试验中冷启动排放的评估
基于筛分试验的热再生沥青混合料结团量化分析
Evaluation of Arctic Sea Ice Drift and its Relationship with Near-surface Wind and Ocean Current in Nine CMIP6 Models from China
稠油热采水泥环完整性研究
基于学习兴趣的冷启动推荐模型
中蜂管理经验谈(二)
结团絮凝工艺处理两种不同性质染料废水研究
莫断音动听 且惜意传情——论音乐作品“完整性欣赏”的意义
精子DNA完整性损伤的发生机制及诊断治疗
原子核结团的非局域化运动