智能N取M型高可靠安全计算机系统
来源: 铁路通信信号工程技术   发布时间: 2016-11-17 11:32   452 次浏览   大小:  16px  14px  12px
通过分析指出传统故障一安全系统在电子系统日趋复杂的背景下将遇到故障检测复杂性剧增的问题,为解决系统设计的可持续发展问题,满足用户对可靠性和安全性不断提高的需求,提出一种智能的N取M型高可靠安全计算机系统,并在系统的可靠性、安全性、设计成本、可维护性以及系统容量方面同传统安全系统进行对比分析。性能仿真数据说明新的安全计算平台不仅能够完全满足IEC61 508中SIL4等级系统的要求,更重要的是,这一类型的安全计算结构极大地降低了对单器件可靠性及安全性的要求,比传统故障一安全结构在设计和维护成本方面更加具备可持续发展的潜力。

周炜,师进,韦文,孟庆尧,江明,北京全路通信信号研究设计院有限公司


关键词:高可靠;高安全;二乘二取二;三取二;N取M;智能退化;安全计算机

1 概述

在传统的故障一安全系统中,系统输出危险侧的概率等于系统失效概率同失效后导向危险侧概率的乘积,即D=(1-R)d。为了在故障发生时能可靠地导向安全侧,故障一安全系统需要详尽地分析系统中所有可能的故障模式,并设计相应的故障检测电路来处理各种类型的故障。目前几乎所有的安全控制系统都已离不开高性能处理器,随着半导体技术的进步,处理器的计算速度、核心的数量、接口电路的复杂性都在飞速地增长,在这样的前提下,要覆盖检测单套计算单元的各种失效(如内存故障、IO故障、总线故障、寄存器故障、ALU单元故障等)已变得越来越困难。在高速条件下要实现这些复杂的检测功能,其设计的复杂度甚至可能超过了设计一个新处理器的数据通路部分。另一方面,在故障一安全系统的设计中,也需要采用不同的策略在处理器间实现不同程度的同步,如基于时钟同步或基于协处理硬件电路的同步。随着系统总线和时钟频率的提高,一个高速的输出级硬件同步器的设计也变得日益困难。这些因素使得故障一安全系统采用硬件检测来覆盖所有危险输出故障模式的实现成本越来越高。有部分批评者甚至认为,即使经过仔细的设计,由于目前处理器电路的晶体管数量都很庞大,在无法遍历整个失效状态空间的情况下,必然会出现故障检测电路无法覆盖的失效模式,所以无论故障检测电路是否存在,系统都不可避免会存在潜在的输出危险侧数据的可能。


另一种避免系统输出危险侧的方法,就是尽可能地提高系统的可靠性。通过减少系统故障的概率,来减少输出危险侧的概率,从而保障系统安全。在后续的讨论中可以看到,在现有的技术条件下,通用计算机的可靠性同上个世纪相比已经大为提高,采用通用计算机来搭建一个高可靠的安全系统的成本反而会比设计一个故障一安全的专用系统成本更低。本文提出一种新型的采用通用计算结构的故障一安全计算系统,由于大幅度简化了故障检测电路的设计,新系统不仅具有更加简洁的系统结构,同传统的故障一安全的设计模式相比,还具备高可靠、高安全、低成本、易设计维护、可持续发展等特点,更加适合在未来高度集成的有严格成本指标要求的安全应用中使用。


本文结构如下,第二章介绍安全系统的分类;第三章介绍N取M系统的基本原理;第四章介绍N取M系统实现的关键技术;第五章详细地对N取M系统各种RAMS指标进行分析并同几种典型的故障一安全系统性能进行比较;第六章介绍N取M系统在列控系统中的应用;最后,第七章对全文进行总结与展望。


2 安全系统分类

2.1 故障一安全系统


根据计算系统的基本原理,任何一个计算系统的数据通路,在设计上都包括3个部分:1)输入获取;2)逻辑运算;3)输出控制。由于数据通路上的3种模块(输入模块、逻辑模块和输出模块)都可能失效,传统的故障一安全系统都会设计相应的故障检测模块来实时检测数据通路上模块的工作状态,一旦检测到故障,检测电路立即切断该数据通路,防止错误的输出被驱动到输出线路上。


典型的故障一安全系统有1OOlD,1OO2D,2OO2D,2OO3D,2X2OO2D等几种构型,不同的构型具有不同的可靠性和安全性。假设单系故障率为P,故障后发生危险侧输出概率为d,则1OO2D系统、2OO3D系统和2X2OO2D系统的可靠性和安全性如表1所示。


表1 三种典型安全系统性能比较

通过对各个系统性能的表达式分析可知,2 X 2OO2D系统、2OO3D系统在开始时可靠性高于单系,但从3倍单系MTBF时间来看,在后期两者都在一定程度上牺牲了可靠性,而三取二系统的可靠性比二乘二取二系统略高,安全性方面则是2×2OO2D系统最高。


2.2 高可靠系统


另一类安全系统通过采用提高系统的可靠性来避免系统输出危险侧,这类系统在航空航天控制领域被广泛的使用。因为这类系统中对系统可用性的要求比铁路控制系统更为苛刻,所以需要通过提高系统的可靠性和可用性来防止系统停止输出,因此更加强调系统对容错性能的要求,如在机载系统中常用到三路冗余的安全系统。这类系统的安全性可以根据公式(1)进行计算:


S=1-D=1-(1-R)d=Rd    (1)


从公式(1)可以看出,这类系统的安全性完全同系统的可靠性成正比。


类似于故障一安全系统,在航空中使用的机载的多路冗错系统对单系可靠性和安全性的要求都比较高,因此冗余的路数大都不多,一般取到3路,所采用的也往往是高可靠的硬表决器。随着软件技术的进步,分布式表决器开始逐步进入过程控制系统。在下面的章节中可以看到,通过提高系统中冗余的节点数,结合分布式表决机制,同时采用智能退化策略所构建的N取M系统将可以进一步降低系统对单组件MTBF指标的要求并提升系统整体的性能。


3 N取M系统原理

N取M系统去掉了故障一安全系统中复杂的故障检测部分,转而认为单计算节点具备如下特点。


1)单计算节点失效是不可检测的且任意时刻都可以发生;

2)单计算节点失效后,其输出可以是任意可能的数值。


为了在以上条件下保证系统的可靠性和安全性能提升到比传统故障一安全系统更高的水平,N取M系统必须在以下几个方面进行仔细的设计。


3.1 分布式表决


没有了故障检测的功能,也不能使用集中表决器(会产生单点失效的问题),因此N取M系统的安全性完全建立在分布式多路表决的基础上,系统中大部分的节点如果通过分布式表决能够获得一致的结果,则可以形成多数派意见,系统最终采信该结果作为输出。参与分布式表决的节点数量越多,N取M系统整体的可靠性和安全性就越高。


3.2 拜占庭容错


分布式多路表决能够实现安全的前提是必须保证多个独立的计算通路获得完全相同的输入。由于拜占庭失效假设故障的计算单元可以向其他的计算单元发送任意的消息,并且假设这些消息可以是恶意的,这一特性严重破坏了分布式多路表决的前提条件。一个多节点参与表决的拜占庭失效场景如图1所示。



图1 拜占庭失效对分布式表决的影响

假设数据源S和P6发生拜占庭失效,S给各P1-P5发送不确定消息{1,0,1,0,1},P6给P1-P5节点发送不确定消息{1,0,1,0,1},在进行节点间数据交换后,功能正常的P1-P5节点将得到表2中的所示数据。


表2 拜占庭失效对分布式表决的影响

从表2中可以看出,在进行分布式表决时,虽然系统中还有5个正常的节点,但因为每个节点收到的数据不一致,判决的结果也不同,最后的表决结果无法形成一致的多数派意见,导致多节点多路表决无法完成。


从拜占庭失效假设可知,传统的安全通信协议并不能防止拜占庭失效。为了防止拜占庭失效,在20世纪80年代发展起来了拜占庭容错技术。莱斯利·兰伯特在其经典论文中通过严格的数学推导从逻辑上证明:假设一个系统中计算节点数量为N,发生拜占庭失效的节点数量为M,在采用非签名数据传输消息的条件下,当N<3M+I时,要在剩下的正常节点中完成多数派表决并达成一致是不可能实现的,因此提出了两种不同的经典拜占庭容错算法。


一种是基于节点间正常的通信,并假设通信链路是不可靠的和非签名的OM算法,即通过在节点间采用M轮次的数据通信,可以保证系统中正常的N-M个节点能够保证获得一致的输入数据,并通过多路表决获得正确的结果。


另一种容错算法在节点中采用带签名的消息传输机制,并假设在系统消息传输过程中签名的数据是无法被其他失效节点所伪造的SM算法。SM算法可以保证在最少节点数N=M+2时能够容忍M个节点发生拜占庭失效。


综上所述,在N取M系统中必须采用拜占庭容错协议才能够实现分布式多路表决,而提高参与表决节点的数量将成为提高系统可用性和安全性的关键。


3.3 智能退化过程


在N取M系统中,通过系统设计,在少量系统故障时,可以采取智能退化的方式而非停机的方式来利用剩余的计算节点。例如:在10取8系统中,若有3系故障,剩下7系已无法满足10取8操作。但是,通过分布式表决的结果系统可以判决并隔离与多数派意见不一致的3个节点,因此可以将剩余7系智能退化成7取5系统,此时仍然能够保持一个高可靠、高安全的系统,所以系统仍然能够继续正常工作。


采用智能退化设计的N取M系统,最终可容忍仅剩余2系无故障的情况,所以系统可以视为具有与N取2系统相同的可靠性。假设系统可容忍从N取M退化到N取Me,则系统可靠性为:



从公式(2)可以看出,由于组合系数的存在,当系统节点数N增加时,系统的可靠性将快速增加。


在N取M系统不断故障并智能退化的过程中,系统的安全性曲线不断在下降。从N取M退化到Ne取Me时,只有N系全Fail并且有至少Me系输出危险侧时,系统才输出危险侧,因此退化后系统的安全性为:



从公式(3)可以看出,当系统N增大时,系统安全性将获得指数级提升。


一般地,可以认为现实系统的成本函数,即认为随着N的增大,系统成本线性增长,而提升单系MTBF值导致系统成本按1/λ指数增长。对于N取M系统,系统的可靠性和安全性与节点数N几乎成指数的相关性,这意味着只要系统的节点数足够多,总是足够抵消掉单节点上所损失的MTBF性能,并且并不带来成本上指数级的增加,于是就可以选用MTBF值相对较低的通用处理器来构建一个高可靠和高安全的系统。在采用通用计算节点后, 由于通用计算节点较专用系统便宜很多,同时简化了故障检测电路,因此在可接受的成本下,系统中N的值可以达到一个较高的水平。


4 N取M系统关键技术

4.1 拜占庭容错技术


拜占庭容错技术是系统安全层的核心,容错协议高效的实现是各个独立的计算单元能够实现分布式计算并保持一致性的基础。所以该协议的实现也是软件安全性要求最高的部件,需要综合采用形式验证、大数据测试、等价性检查、软硬件协同仿真等多种技术手段来保障软件质量。


4.2 高速互联技术


由于拜占庭容错协议需要大量的系统间通信开销,如果不能保证系统间通信的速度,系统响应的实时性将受到极大的影响,这也是之前拜占庭容错协议没有获得广泛应用的一个主要原因。最近十年以来,更加高效的拜占庭容错算法获得了快速的发展,并且随着千兆以太网的普及,已经可以采用高速以太网作为N取M系统的内部高速互联总线,彻底解决了协议层面的关键问题。同时未来防止IO侧可能引入的雷击问题,在IO侧可以考虑采用光介质以太网作为高速互联的通道。


4.3 动态迁移技术


计算节点由于故障发生失效后,系统通过一致性协议能够检测到该失效的节点并且将其隔离,同时为了保证系统中可用的计算节点数量不随着时间逐步减少,需要采用动态重启并上线同步的方式增加新的节点进入系统。动态迁移技术在虚拟机层面保留了足够的配置数据,使得可以在失效发生后很短的时间内通过平台的管理功能在其他物理节点上重启之前运行的虚拟机镜像。新镜像启动之后通过状态机同步协议与现在服役的计算节点间获得状态上的同步,完成同步后新镜像就作为一个新的计算节点投入使用,因此具备在很短时间内动态恢复节点数量的能力。在系统总的计算能力能够负荷的情况下,计算节点不仅可以动态产生,而且通过一致性协议具备快速同步到在线状态的能力。这样的特性使得不需要进行额外的维护操作就能使在线的处理节点数量长时间保持一个较高的值,使系统的MTTR时间可以降低到非常接近于0的水平。


4.4 安全输入输出技术


传统的安全输入输出采用不同等级的安全协议来保障数据可以正确地实现端到端传输。但传统安全传输协议并不具备拜占庭失效容错的特点,这也是N取M系统中必须采用拜占庭容错协议而不是传统安全协议作为安全输入输出技术的原因。幸运的是,在输入输出节点上实现拜占庭容错并不比传统安全协议需要更多的处理器资源。例如,传统的输出节点可能需要二乘二取二的结构来完成安全输出,而要求逻辑计算节点和输出节点均采用二乘二取二的结构。因此在输入输出端总共需要4个处理节点。


在N取M系统中,假设输入/输出级至少具有X个处理器节点,同时在逻辑计算级,有Y个节点同输入/输人级进行配合共同实现安全输入输出功能,拜占庭容错协议要求X+Y>M系+2(M系为发生拜占庭失效的节点个数)。当取X=2,Y=2 时,系统输入/输出级最多可以容忍1个节点出现拜占庭失效,因此,同传统的二乘二取二结构相比,在处理器数量减半的情况下就可以实现对拜占庭失效的容错。


5 N取M系统性能分析

5.1 系统可靠性分析


假设N=10、20,并假设单系危险侧输出概率d=0.05,分别用Matlab仿真计算M可容忍退化到4、3、2的情况,假设退化过程中作为Ne取(Ne-2)的系统来使用。结果如图2所示。



图2 可靠性仿真结果对比

从图2中可以看出,N>10时,采用单系MTBF为1000天搭建的N取M系统在不同的时间点内均超过了SIL4系统的可靠性指标。在N>10时,在单系MTBF时间点内,N取M系统结构已经具有比传统的安全系统更高的可靠性,N>20时,在2倍单系MTBF时间点内,N取M系统均具有比传统安全系统更高的可靠性。


5.2 系统安全性分析


在系统不断故障和智能退化的过程中,系统的安全性曲线不断在下降。从N取M退化到Ne取Me时,只有N系全Fail并且至少有Me系输出危险侧时,系统才输出危险侧。N取M系统的安全性与传统安全系统和欧标参考系统仿真结果对比如图3所示。



图3 安全性仿真结果对比

以上仿真结果表明,N取M系统(N ≥10)已经达到欧标SIL4等级系统的安全性要求,并且超过了传统故障一安全系统的性能。


5.3 系统成本分析


图4给出了在系统性能下降时间点tx取不同值时,对应的(N,λ)曲线簇以及对应的(c,N)曲线簇的仿真结果:



图4 (N,MTBF)曲线簇与(c,N)曲线簇

从图4中可见,不管是增大N或是提高单系的MTBF,边际收益都会逐渐变小。但是任意给定一个安全性能指标,采用N取M系统方案必定能使系统总成本达到极小值,而这一特性是传统安全系统所无法做到的。


5.4 系统可维护性分析


在采用了硬件虚拟化技术之后,在计算能力足够的情况下,整个系统的MTTR可以下降到接近0的水平,因为系统能够通过重新分配资源快速实现新系统的上线和同步。因此从系统可用性的角度来讲,N取M系统几乎时刻都保证具有100%的可用性。另外通过定期维护系统中物理计算节点,使得系统中新节点和老节点的数量维持一个合适的比例,可以使得整个系统能更长时间的保持在5取3结构之上,而不是退化为4取2的结构。因此系统在更长的使用时间内都将维持较高的安全性曲线等级和可用性等级。


5.5 系统容量分析


采用N取M结构的系统可以方便地通过增加计算节点N的数量来提升系统的计算能力,而不必像传统安全系统一样需要重新进行安全认证和硬件设计。前面已经讨论过,增加新的计算节点在采用硬件虚拟化技术的前提下,所增加的成本几乎小到可以忽略不计,因此总的来说,整个N取M系统的计算容量将具有相当大的弹性,从管理一个车站到覆盖一个区域内的所有列车,这使得N取M的安全架构有希望成为未来区控中心控制平台的重要选择之一。


6 列控系统应用

通过上述分析,N取M系统在保障了高可靠性、高安全性,同时由于采用了通用处理节点和高速内部总线,维持着很高的通用数据处理能力和通用性。


在地面应用方面,通过采用虚拟化技术、分布式执行等技术,系统计算能力可以大幅度提升,原来需要若干安全计算机平台来承载的工作将可以获得整合。传统按线路部署的控制机制也可以演进为区域集中控制。例如武广客运专线,全线共设置了9套RBC系统,每套RBC系统均为二乘二取二结构,共需36台专用主机。任何一套RBC系统中,只要双系各有一个主机出现故障,都会导致该RBC系统管辖区域无法进行CTCS-3级控制,降低运行效率。采用本文所述的安全计算平台后,不仅整体造价下降,而且任何两个主机故障,全线运行均不会受到影响,保障了系统的可靠性和整体运行效率。另一方面,系统计算能力的提升对于系统的业务逻辑也起到简化的作用,采用集中的区域控制中心后,不仅RBC移交行为可以大幅度获得简化,而且车辆的跨线路作业将更加便捷,因此安全计算中心尤其适合于在北京、上海、广州等多条线路汇聚的城市部署。类似地,其他地面控制系统,如联锁系统、列控中心系统、临时限速系统、轨道电路系统等都可以采用该形式进行整合。仅需要在控制中心配置足够数量的计算集群即可。


在车载应用方面,通过进一步采用空间冗余等可靠性提升技术,N取M型安全计算体系结构将推动车载计算同移动计算全面接轨。由于移动计算的处理器具备经济规模的优势,所以车载系统不仅在成本上可以逐步降低,在计算速度上也能跟上电子技术的发展。通过驳接更多的传感器和车地无线通信系统,车载控制系统将能为高速列车提供更为智能的控制服务。例如,未来的车载系统将能够接入加速度传感器、GIS传感器、姿态传感器、雷达传感器、高速无线通信系统,更加平稳地控制速度更高的列车。


7 总结与展望

本文提出了一种新型的基于智能退化技术的N取M型安全计算系统。同传统安全系统相比,该系统具有高可靠性、高安全性、低成本、高可维护性、通用性等特点,基于该系统的列控系统应用的开发、测试、验证均可以得到极大的简化。


随着通信技术和移动计算技术的发展,处理器将继续保持性能大幅度提升、价格大幅度下降的趋势,在这样的技术发展趋势下,选择N取M构架作为安全系统的基础构架避免了传统故障一安全系统的发展瓶颈问题,使整个系统具备了良好的性能扩展性和不可比拟的规模经济优势。


在本文完成之际,国家铁路总局正好修订发布了《铁路通信信号设备生产企业审批实施细则》,修订后的铁路通信信号设备目录由原来的52种减少为26种,减少了50%,代表着未来列控系统一体化的趋势已经拉开帷幕。相信未来会有越来越多的列控应用被迁移到统一的高可靠列控平台上,而列控系统设备制造商也将逐步向列控服务提供商转型,为用户提供更可靠,更安全,更定制化的轨道交通智能控制服务。