容错方案设计(共12篇)
容错方案设计 篇1
在工业自动化、机器人系统、武器系统、航空和航天等领域中,为了提高系统的可靠性,双机容错技术得到了普遍的应用和发展。双机容错是由两套完全同构的计算机系统组成[1],作为双机容错系统的控制核心—容错控制器是实现双机故障诊断和仲裁切换的关键机构。本文提出并实现一种基于FPGA的容错控制器,它的功能根据所设计双机容错系统的应用特点,不但实现了双机容错系统中故障的检测和诊断,且能根据诊断结果作出故障处理的仲裁结果,使双机能够及时得到实时判断结果,完成双机容错系统的切换重构工作。该方案有效地结合了FPGA器件的优势及特点,将其引入高可靠性嵌入式系统应用领域,降低了成本,提高了系统的可靠性。
1 双机容错系统结构
本文所设计的FPGA容错控制器应用于如图1所示的双模冗余热备份容错计算机系统。该双机容错系统其应用功能是通过CAN总线接受上位机发送的数据,通过双机容错系统的计算机解算处理后再经过RS422总线下传给接受方设备。
工作原理:该系统由计算机A和计算机B组成主备机,由交叉数据通道实现双机间的通讯,由FP-GA实现的容错控制器完成双机容错系统的部分故障检测、诊断和仲裁切换的任务。另外,A机和B机各有独自的外围控制逻辑和外设,这样即不会引起系统资源的竞争,增加了整体系统的稳定性。双机上电后,首先进行A、B机硬件自检,自检通过后,默认A机作为主系统,接受数据并将此数据和此次接受任务的标志发送至交叉数据通道固定单元,等待双机同步,B机作为备份机同样接受数据并将此数据和此次接受任务的标志发送至交叉数据通道固定单元[2],等待双机同步,然后两机从交叉数据通道中取出任务标志和对方接受的数据进行同步和比较,然后分别执行相同数据的解析任务。将任务标志和计算结果又送至交叉数据通道,两机又通过任务标志和结果数据的比较完成数据发送数据任务的同步和输出数据的比较检测。在接受和主备发送数据的比较中,若比较一致,程序由A机输出,比对不一致程序转到各自自检程序,根据自检结果和主备机标志切换正常计算机作为系统输出,系统转为单机运行。
另外,容错控制器还要实时监测软硬件心跳状态是否正常,若某台主机出现故障,根据故障机是否为当班机,进行相应的容错处理,包括是否请求无故障机切换为当班机、是否复位故障机等处理过程。
2 容错控制器设计
为实现所描述双机容错系统的整体监控和备份功能,本文提出的基于FPGA的容错控制器结构如图2所示。容错控制器根据所接收到的状态信号,判断单机在系统中的地位,并给出相应的输出信号,容错控制器包括:软件心跳检测模块WTD、硬件心跳检测模块ALE_WTD和仲裁判决模块Arbiter。
2.1 两主机负责处理的信号[1]
因为两主机与容错控制器的连接工作机制完全相同,这里只介绍主机A处理的信号:(1)发送周期性的脉冲信号wdi1给WDT,表示主机A处于正常工作状态;(2)通过ALE自动发送既定的脉宽到ALE_WTD,表示主机ALE信号正常;(3)通过主机A的IO口发送主机目前的主备机标志、比较结果标志、自检结果标志到容错控制器仲裁判决模块,等待仲裁判决处理。(4)接收来自仲裁判决模块Arbiter的脉冲信号RESET,以使主机A复位重启恢复故障;(5)接收来自仲裁判决模块Arbiter的中断请求信号Switch1_INT,表示当主机B发生故障且主机B之前是当班机时,请求主机A机接管工作;(6)接收来自仲裁判决模块的脉冲信号state1,表示系统中对等机主机B的工作状态,为主机A是否进入单机运行态做准备。
2.2 软件心跳检测模块(WTD)
程序跑飞、程序死循环等是常出现的软件故障,本设计中在容错控制器采用看门狗技术来检测此故障。看门狗WTD接受来自主机A的IO口发送的周期性脉冲信号wdi1,该脉冲信号对WTD计数器清零。当下一个clk(WTD内部时钟)周期到来时,WDT计数器重新开始计数。如果WDT计数超过某个值(即主机A在规定的时间周期内没有发送wd1脉冲),则认为主机A发生故障,WDT将发送wdo1信号至仲裁判决模块等待仲裁判决处理。
2.3 硬件心跳检测模块(ALE_WTD)
由于51单片机的ALE引脚,无论单片机是否访问外存,ALE都能在一定时间内提供至少一个上升沿或下降沿[3]。如果ALE信号不正常,那么可以确定CPU一定是出现了永久故障。本文设计两个看门狗(ALE_WTD)监测主机的ALE信号,当两主机的ALE不正常引起硬件不能喂狗时,溢出信号(ALE_wdo1=‘1’或ALE_wdo2=‘1’)送至仲裁判决模块等待仲裁处理。这种通过硬件喂狗方式来检测CPU故障的方法既可以节省单片机有限的IO口资源又不用设计专门的喂狗程序。
2.4 仲裁判决模块(Arbiter)
仲裁判决模块根据容错信号包括双机发出的自检信号(self_chk1和self_chk2)、数据一致比较结果信号(diff_chk1和diff_chk2)和软硬件心跳检测模块检测到的结果信号(wdo1和wdo2、ALE_wdo1和ALE_wdo2)这四组检测结果信号和双机发出的主备机状态标志(flag1和flag2),完成对双机状态的判断,最后给出切换请求、复位和对等机状态信号等系统重构信号。图3是主机A被容错控制器仲裁判断后的流程图。
由图3可以看出,四种输入信号self_chk1、diff_chk1、wdi1、ALE1中的任何一个被检测到不正常时,被判断为该机不正常,然后根据该机目前是否为主机(flag1=‘1’),若为主机,则申请切换B机为当班机(置switch2_INT=‘1’)并通知对B机对等机不正常(置state2=‘1’),同时复位A机。主机B的仲裁判决过程同主机A。通过在FPGA中利用硬件描述语言的进程并行模块语句和并行语句特点,实现此模块是很有效的方法。
3 系统实现
根据以上介绍,本文提出的容错控制器是在FPGA芯片上实现的,利用QuartusⅡ8.0,设计如图4所示的VHDL语言编译综合后的RTL级视图。WTD1和WTD2模块分别集成了对主机A和主机B的软硬心跳检测的看门狗模块,Abiter模块即为前面提到仲裁判决模块。这里为了满足系统中CPU及总线控制器等电路的复位信号要求至少200 ms的保持时间,增加了一个reset模块用它来专门处理保持200 ms的复位信号。在程序设计中考虑到输入异步产生的毛刺现象,设计中增加了clk信号作为全局时钟同步信号,充分解决了毛刺问题。[4]
图4中WTD1和WTD2功能相同,feed和ALE信号是被检测的两主机的喂狗信号和ALE信号,经过WTD1的看门狗监测后输出故障监测结果信号至Arbitry模块,Arbitry模块根据两主机的主备机标志信号flag1和flag2、自检信号self_chk1和self_chk2、比较信号diff_chk1和diff_chk2、由看门狗监测到的ALE错误信号CPU1_ERROR和CPU2_ER-ROR、和喂狗失败信号wdo1和wdo2判断仲裁后向两主机输出对等机状态信号state1和state2、切换请求中断信号switch1_INT、switch2_INT和复位信号reset1和reset2。reset1和reset2又经过Reset模块处理输出既定时间的复位信号至两主机系统的各个电路。
4 结果与讨论
本设计选用Altera公司的CycloneⅡ系列型号为EP2C8Q208C8的FPGA芯片,在Windows XP操作系统环境下使用该公司的开发软件Quartus II8.0作为EDA设计工具设计实现。时序仿真波形如图5所示。
由图5中看出,两主机输入的四组检测信号通过容错控制器的故障检测、诊断以及仲裁判断输出复位、切换请求等系统重构信号。例如图5中时间棒(Time Bar)所示:
当时间棒处于+221.88 ns时,容错控制器的WTD看门狗检测到输入信号wdi1由于出现高电平脉冲时间超过既定时间。在时间棒所指处出现“狗咬”,容错控制器根据此时的flag1为高电平,flag2为低电平,确定进行双机切换,置switch2_INT高电平,置switch1_INT为低电平,表示要求主机2接管当班机任务;state1置高电平,state2置为低电平,表示通知主机B对等机(A机)不正常;并置reset1为高电平十个脉冲信号,表示对主机A复位保持一定时间。
其他三个时间棒所指点容错处理结果,由图5容易看出结果也满足设计要求。通过以上时序分析,本文设计的容错控制器满足双机容错系统的容错控制功能的要求,引入了clk全局时钟后信号未出现毛刺,满足系统性能需求。
5 总结
该容错控制器应用于某设备双机容错系统上进行验证,满足系统需求。由于该双机容错系统对数据处理的实时要求比较高,采用本文设计的容错控制器具有的实时监测,实时仲裁等特点,保证了双机容错系统切换时的准连续性;另外,通过FPGA硬件实现仲裁检测任务减轻了双机容错系统软件任务的负担,保证了容错系统不会由于采用复杂的软件实现仲裁判决带来的不可靠性影响。
摘要:根据双机容错系统故障检测和诊断、仲裁技术的常用方案及特点,结合某在研双机容错系统,提出了一种基于FPGA容错控制器的设计方案。仲裁模块作为容错控制器的核心模块,可根据双机工作的监测信号负责完成主备机切换功能。为了实现软硬件心跳故障监控功能,在FPGA内嵌了WTD模块。同时,全局时钟引用于各个模块后,良好消除了输出信号的毛刺问题。实验结果表明,该设计方案满足系统要求,可靠性较好。
关键词:双模容错计算机,FPGA,故障检测与诊断,仲裁
参考文献
[1]李迅,李洪峻,刘庆敖.双模容错计算机的设计与实现.计算机工程,2008;9(17):240—241
[2]朱朝晖,张崇峰,陈卫东.空间双机容错计算机系统研究.上海航天,2004;(6):18—23
[3]王幸之,忘雷.单片机抗干扰应用系统抗干扰技术.北京:北京航空航天大学出版社,2000
[4]张志杰,王翔.如何解决FPGA电路设计中的毛刺问题.世界电子元器件,2004;3(11):68272—68275
容错方案设计 篇2
飞机操纵面损伤的自适应容错控制设计
针对飞控系统实时控制和高可靠性的`要求,提出一种飞控系统多操纵面损伤的在线容错控制算法.首先建立包含各种常见故障的操纵面参数仿真模型和故障注入仿真机制,其次由于故障的随机性,设计多个并行的在线观测器,对应于每个观测器模型建立一个基于特征结构配置的控制器.最后根据多个观测器和相应的控制器可完成系统在线故障隔离与重构.应用某型飞机横侧向控制系统进行仿真,得到了预期的效果.此方法设计简单合理,适于工程应用.
作 者:刘小雄 章卫国 李广文 LIU Xiao-xiong ZHANG Wei-guo LI Guang-wen 作者单位:西北工业大学,自动化学院,陕西,西安,710072刊 名:测控技术 ISTIC PKU英文刊名:MEASUREMENT & CONTROL TECHNOLOGY年,卷(期):26(8)分类号:V249关键词:飞行控制系统 故障隔离与重构 特征结构配置
拟误之趣,容错之阈 篇3
关键词:言语交际容错机制 言语交际容错阈 编码拟误 语言文字规范化 网络语言
一、引言
最近在网上流行起这样一群词句:郁闷、话说、沙发、板砖、东东、版猪、斑竹、竹叶、果酱、水饺、有木有、你妈妈喊你回家吃饭、哥只是个传说、这事不能细说、……做了一个艰难的决定,这种词语被统称为“编码拟误”现象。这种“编码拟误”现象,也可统称为超常语言组合——有超常语形语义组合,也有超常语法组合形式,它们在语义上或在语法上有意识地偏离主流语言常规,但在语用上,却往往具有某种特殊的表达效果。
二、编码拟误现象分类
编码拟误模拟的错误有不同类别,常见的有五种,一是模拟常见打字错误;二是模拟不规范语法现象;三是模拟方言;四是模拟童语;五是模拟外语风格。
1 模拟常见打字错误
由于电脑输入法对重码优先设置的原因,使得有些词语经常被误选,当它们成为使用这种输入法的打字的网友们普遍性的常见的打字错误后,便被人们有意识地编码拟误。如:
★网友A:嘎嘎!斑竹锅锅真油墨,笑四偶了!(咯咯!版主哥哥真幽默,笑死我了!)
★网友B:荷荷,果酱乐!我要水饺乐,先下乐,88!(呵呵,过奖了!我要睡觉了,先下了,拜拜!)
2 模拟不规范语法现象
网络文字交流中,有些网友起初也许是因为语文水平不高,会出现一些用词不当或搭配不当之类的语法错误,有人大概觉得有趣而模仿打趣他,久而久之便流传开了。例如:
★强帖啊~!观点很独特的说。——抢个沙发先!(写得很棒的帖子啊!观点很独特——先抢个沙。)
3 模拟方言
有些方言由于在电影电视或春晚小品节目中经常使用,逐渐成为大家熟悉的类似强势方言的地位,在网络打字交流中,便有人模仿方言语音或方言词汇,来自我调侃。比如:
★网友A:今天为什么米有人唱歌?也米有人上管?(今天为什么没有人唱歌?也没有人上管?)
★网友B:偶母鸡拉!(我不知道呀!)
4 模拟童语
网络使人变得年轻。在网络交流中,模拟童语的现象也非常普遍,因此产生了一些像叠音一类的“童化”的词语和称呼方式,成为打趣对方或自我调侃的特殊语词。比如:
★介系什摸东东呀?让偶看一下下。哦,系不系帅锅的片片呀?好漂漂哦!(这是什么东西呀?让我看一下。哦,是不是帅哥的照片呀?好漂亮哦!)
5 模拟外语风格
网络交流中有时会夹杂借用一些外语词汇或语法,这种不中不西的表达有时是因外语输入更方便快捷,同时具有特别的风味。比如:
★今天是你生日哦!猪你生日快乐!还配波斯得吐油!(今天是你生日哦,祝你生日快乐!Happy birthday to you!)
除了以上常见的五种情况外,还有通过标点符号超常使用来模拟口语效果的一类。比如:
★这是神马世道!道、道、道、~……~……!(这是什么世道!……回声)
★%#Y%~★★##……无语。(表示不知所云的符号……不知说什么好。)
三、编码拟误的语用价值
网络文字交流中的“编码拟误”现象,是具有一定的语用价值的修辞现象,能收到特殊的修辞表达效果。如语言陌生化效果、语言谐趣化效果、语言个性化效果。而这些特殊表达效果也正是某些网络语能流行的主要原因之一。
1 语言陌生化效果
求新求异是语言表达中的普遍心理,网络交流编码拟误,在很大程度上是为了用超常的语言组合来达到一种新颖别致的陌生化效果,满足自己的这种心理需求。如:用“貌似”来取代“好像”;用“沙发”来比喻第一个回帖;用“板砖”来代指批评主帖的意见等等,都比主流语言固有的词语更加生动活泼、新颖别致。
2 语言谐趣化效果
网络交流大多数情况下是一种非正式的书面交流,网友之间熟悉之后,多半会以轻松随意的方式追求一种愉快的氛围,或相互打趣,或自我调侃。于是,便产生了许多巧妙的谐音词。如:大片子(大骗子)、跑牛(泡妞)、新蚊连啵(新闻联播)、内牛满面(泪流满面)、围脖(微博)、果酱(过奖)、菌男(俊男)、霉女(美女)、帅哥(帅锅)。
还有故意用他人出现过的用词不当或语法不当的笑料,来调节气氛的。如前面举过的“严重同意楼上的!再如:“以迅雷不及掩耳盗铃之势……”
这些富有幽默感的词语运用于聊天中,增加了语言的趣味和表现力。而且这些语词大都是谐音拟误的词语,一般都具有“褒词贬化”或“雅词俗化”的共性。
3 语言个性化效果
网络交流虽然大多是隔着屏幕的虚拟交往,但同样有每个人各自不同性格、不同文化素养的表现需要。比如,聊天时同样是笑,不同的人会打出不同的字来表示自己在笑,表现出不同的个性特点:
“哈哈”:率真或爽朗;
“呵呵”:文雅或稳重;
“荷荷”,容易让人联想到“荷花”,故适合淑女们用;
“嘎嘎”:坏笑,另也有清脆悦耳的拟音效果,即文学作品中说的“银铃般的笑声”;
“嘻嘻”:调皮而可爱;
四、编码拟误与言语交际容错阈
所谓言语交际容错阈,是指在言语交际中,当编码语义所指错误时,解码能够纠错,其纠错的限度或范围,即容错阈。
编码拟误的前提,是所拟之误都是显而易见之误,至少是在解码者容错阈之内的“误”,这样,解码者才知道编码者是在拟误,而不是失误。因此,用笔者的“言语交际容错阈”理论来说,编码拟误之误,必须是已经进入集体容错阈的语误,编码拟误的使用,其实是建立在拟误材料已进入集体容错阈的基础之上的,如果违反这个原则,则将成为真正的语误,或不为人解,或为人误解。
前文所举的用例,大多数在特定的网络语境下,都具备言语交际容错的条件,网友们第一次看到时,通过上下文的分析,一般都能猜解出其拟误之意;而少数用例虽然初次接触可能会有些费解,但至少能让人意识到它是一种超常语言组合,因此,解码者的容错机制会处于被激活状态,不会等闲视之,最终经过分析推理或查问,亦能得出它的正解含义。
当然,也有些网络用语来历过于复杂,其语义只有骨灰级的网民才懂,而且知其然还不一定知其所以然,例如“的是”(或作“底是”“滴是”),笔者也是分析加咨询,才明白大概是“的确是”的缩略。
实际上,在网络语的发展过程中,不乏昙花一现之例,而究其原因,之所以会被自然淘汰,一般都是因其最终未能进入集体容错阈,而失去生存的基础。
任意平面交换网络容错设计 篇4
1 交换网络架构的容错设计
组成各种交换网络的交换元, 由于交换网络架构及连线算法的不同, 可能造成某些特定交换元使用频率偏高, 这些使用频率较高的交换元, 其寿命相对较短, 交换网络架构设计上皆尽可能精简交换元数目, 以求得在硬件花费上的最佳表现, 若因些许交换元损坏而丧失交换网络的交换能力与其原本的特性 (无阻塞交换网络不在具有无阻塞特性) , 则会造成交换网络的维护更加困难, 成本愈高, 是如何设计容错架构的问题。
2 交换网络架构容错设计
以Spanke-Benes Network为列, Spanke-Benes Network属于平面交换网路, 所有平面交换网路皆可以任意平面交换网络UPSN表示。当SpankeB e n e s N e t w o r k其中一个交换元损坏时, 则会丧失原本具有的无阻塞交换网络的特性, 我们提出一种称为Fault Tolerant Spanke-Benes Network, 简称FT-Spanke-Benes, 对于一n输入的Spanke-Benes Network, 只需将n-1个额外的交换元放置到特定位置, 即可针对此交换网络中任何一个交换元损坏时, 仍维持Spanke-Benes Network无阻塞交换的特性。
图1 (左) 所示为一6输入的SpankeBenes Network, 可以UPSN的1, 3, 5, 4, 2表示, 图1 (右) 则为其容错设计, 红色部分为额外放置的备用交换元。
我们将说明当Spanke-Benes Network中有任何一个交换元损坏时, 如何选取备用交换元来进行其架构的重组。例如当ROW3有任一交换元损坏 (BAD) 时, 我们将整条ROW3的交换元全部设定为不动作 (Straight) , 即状态0, 等同于移除了ROW3所有交换元, 此时可以发现, 当有任何一个ROW的交换元个数比ROW3小时, 则必须将备用交换元取出使用 (包括交换元个数为0的ROW5) 。而ROW3的交换元个数为4, 可知ROW0、ROW1、ROW4及ROW5须将备用交换元取出使用。所以最后的重组结果为 (2, 4, 5, 3, 1) , 仍是一无阻塞交换网路。
我们以上述的范例可以发现以下规则:当交换元损坏时, 损坏的ROW中有i个交换元时, 则需取出i个额外备用交换元使用, 才能使其形成符合UPSN组成规则的无阻塞交换网络。
3 容错设计的分析
在一n输入的UPSN中, 当有一交换元损坏时, 则将此交换元所在的Row所有交换元设为状态0, 亦即若有多个交换元损坏时, 若其都在同一层Row中, 则最大可容许n-1个交换元损坏, 最少则为1个。
于容错架构设计中, 我们也可知, 于不同的UPSN架构中, 所需的备用交换元数量皆不相同, 对于一个n输入输出的UPSN, 其最佳的情况, 例如于TriangleType架构及Spanke-Benes Network架构下, 其所需备用交换元个数仅需要n-1个, 意即每层Row仅需准备一备用交换元, 最差的情况则时交换元个数恰好为最多及第二多, 其所需备用交换元个数为2n-4, 相当于需为每层Row准备两个备用交换元。
容错设计的备用交换元个数与交换元总数的比率图, 蓝色部分为备用交换元个数除以交换元总数的比率, 橘色为最佳备用交换元个数除以总数, 而灰色则为最差交换元个数除以总数, 横轴为交换网络输入数, 介于2~1000, 纵轴为其比率, 由此图可以知道, 当一UPSN架构的输入输出数n愈大时, 其所需的备用交换元个数愈趋近于最差, 然而, 其备用交换元个数与交换元总个数12相比, 其级数上明显较少。
结语
连线建立算法是以C++程序语言所撰写, 目的在于验证此连线算法的正确性, 用户可以任意决定UPSN的输入数、交换元放置方式以及目的端所要求的输出端, 或者由程序自行乱数产生, 程序有两种结束方式, 其一为当有输入端经由Right-to-Left连线建力算法建立连线后, 其到达的目的地为错误的输出端, 此时可以知道此种算法有错误, 程序将会结束, 其二为所有连线皆建立完毕且所有输入端皆到达正确的输出端, 代表此次UPSN, Right-to-Left连线建立算法为正确, 程序将会结束。
摘要:交换网络 (Switching Network) 被广泛应用在计算器通讯、平行处理、阶层交换及积体电路绕线等领域中。在各领域之间会因为性质及对象的不同, 对于交换网络的效能亦会有所不同的要求, 为使系统提高效能、增加交换能力以及减少交换的时间, 一般采用无阻塞交换网络 (Non-Blocking Switching Network) , 然而, 交换能力愈好往往代表其须使用数量较多的交换元 (Switch Element) 以及采用较复杂的连线架构, 此举却会使得交换网络的成本增加。
关键词:任意平面,交换网络,容错设计
参考文献
[1]富弘毅, 杨学军.大规模并行计算机系统硬件故障容错技术综述[J].计算机工程与科学, 2010 (10) .
容错方案设计 篇5
水下无人潜航器航向H∞鲁棒容错控制器设计
In order to improve the security and reliability for autonomous underwater vehicle (AUV) navigation, an H∞ robust fault-tolerant controller was designed after analyzing variations in state-feedback gain. Operating conditions and the design method were then analyzed so that the control problem could be expressed as a mathematical optimization problem. This permitted the use of linear matrix inequalities (LMI) to solve for the H∞ controller for the system. When considering different actuator failures, these conditions were then also mathematically expressed, allowing the H∞ robust controller to solve for these events and thus be fault-tolerant. Finally, simulation results showed that the H∞, robust fault-tolerant controller could provide precise AUV navigation control with strong robustness.
作 者:程相勤 曲镜圆 严浙平边信黔 Xiang-qin Cheng Jing-yuan Qu Zhe-ping Yan Xin-qian Bian 作者单位: 刊 名:船舶与海洋工程学报(英文版) 英文刊名:JOURNAL OF MARINE SCIENCE AND APPLICATION 年,卷(期): 9(1) 分类号:U6 关键词:AUV navigation control robust H∞ fault-tolerant control gain variations LMI创新试错容错纠错机制 篇6
解决问题的方向很明确,关键是如何落实。2016年经济工作的五大重点任务是在着力推进供给侧结构性改革的指导思想下实施去产能、去库存、去杠杆、降成本、补短板。完成此五大重点任务,关键之处是要调动各方面积极性,特别是各级领导干部和市场主体的积极性,协力同心,勇于面对各种困难和挑战。尤其是要正确认识当前的供给侧结构性改革面临产能结构性过剩和流动性结构性过剩之交织错叠的局面,以及由此而带来的改革之艰巨性、复杂性对各级领导干部之严峻挑战。
所谓产能结构性过剩,是指一方面以钢铁和煤炭两个行业为代表的产能严重过剩。但是,我们在钢铁产量严重过剩的情况下,一些特殊品类的高质量钢材仍然需要进口。正如李克强总理最近在山西调研时所说,圆珠笔头上的“圆珠”,目前仍然需要进口。这种产能的结构性过剩本质上是既往粗犷式增长方式的必然后果,必须着眼于经济发展方式的转变来彻底改变此种局面,否则,一旦国际国内形势稍有好转,一些不符合国家产业政策的低端产业仍然会蜂拥而起。
实体产能的结构性过剩,反映在金融体系中,则是流动性的结构性过剩。所谓流动性的结构性过剩,是指一方面金融体系流动性总量过剩,一方面结构性短缺。总量过剩是指商业银行在中央银行存放的存款准备金数量总量很高,实际存款准备金率也很高,银行体系的流动性供给大于流动性需求。结构短缺是指,小型银行的流动性是短缺的,需要向中央银行或其他商业银行融入资金。由此导致信贷资源相对集中,有国资背景的企业拥有信用保障的先天优势,而绝大部分民营中小企业则处于弱势,它们从银行借贷融资过程中需要提供抵押、担保等增信机制,财务成本、时间成本也较高。
在这样一个产能结构性过剩与流动性结构性过剩交织叠加的大背景下,实施全面深化改革,没有体制机制的全面创新,将步履维艰。“五大重点任务”的具体内容非常多,但无论是处置“僵尸企业”、降低企业成本、化解房地产库存、提升有效供给还是防范和化解金融风险,解决的根本办法都得依靠改革创新。只有进行顶层设计创新、体制机制创新,不失时机进行技术创新,才可能有效推动此次重大的结构性改革。特别是要从创新试错、容错、纠错的机制出发,为改革创新保驾护航。
试错,就是要允许创新中出现风险和失败。在提升国家治理体系和治理能力现代化的历史进程中,许多事情没有先例可循,只能是摸着石头过河,不可能一帆风顺,肯定会出现这样那样的问题。这种状况之下,必须有一个允许创新的环境和机制,让各级领导干部在全面深化改革的过程中,不因为怕犯错误而出现各种懒政怠政。现在在一些领导干部中出现了不干事怕干事的错误思想,究其根源,就是怕犯错误。改革过程中,新事物新现象层出不穷,应对新问题新挑战,就需要试错机制。
容错,就是要允许在试错的过程中出现一定的经济社会风险之后,启动相应的程序,将这种经济社会风险控制在合理的范围,对相应的责任人实施豁免。当然,容错的前提是法治,即改革中的试错应是在一定的法律法规和制度框架范围内的试错,而非违法违规式的试错。另外,容错机制的设计不仅仅是经济社会中如何防范风险的技术问题,也是一个文化问题,即要在全社会形成一种容错的文化氛围,这是鼓励各级领导干部创新经济社会管理模式和激励大众创业万众创新所必需的。
纠错,就是在风险发生之后,能够有一种机制和程序自动启动,对产生风险的源头、过程及后果进行科学评估,找出原因,修正体制机制设计,及时引导创新方向,消除路径依赖,防止出现棘轮效应。完善的纠错机制是我们始终保持正确改革方向的重要前提,也是我们始终保持战略定力的基础。纠错机制的设计和完善不仅依赖于前瞻性的顶层设计,更依赖于地方政府和市场主体、社会主体的勇于探索、互动博弈。
容错方案设计 篇7
目前,并行程序的容错通常是基于检查点技术,再加入故障探测、处理以及自动恢复等辅助功能而形成的完整容错机制,在全局一致性状态下将进程的运行状态进行保存,当程序运行出现故障时,利用保存的进程状态对出错进程进行恢复,使计算任务从检查点处恢复执行,以减少计算损失,提高程序运行的可靠性和可用性。
1 容错相关内容
1.1 检查点技术
检查点技术[3]是指在程序运行时选择适当的时刻设置检查点,进行检查点操作,保存各个进程的运行状态到存储器中,系统如果在随后的运行过程中发生故障,所有进程停止计算卷回到上一次最近的检查点处,利用检查点处保存的正确状态去恢复出错的进程,从该检查点处重新计算。其过程如图1所示,这样可以避免由于故障而导致程序从头重新执行,因而能有效地减少计算损失。
在设置检查点时要保证所有进程处于全局一致性状态[4],所谓全局一致性状态,就是一个并行程序在无错执行期间所有进程的某种状态集合,当某个进程的状态表现为发送了一条消息时,在相对的另一个进程状态必须反映为接收该消息。为了发生故障时正确地卷回恢复,设置检查点时必须保证记录的状态是所有进程处在全局一致性状态下,避免产生多米诺效应。
如图2所示,黑色方块代表各个进程独立设置的检查点,当进程P2发出消息m7后发生故障,则卷回到检查点C处,卷回过程中P2取消发送m7,因此P1必须回退到检查点B以取消对m7的接收。同理P1发送的消息m6无效,进程P0卷回到检查点A处,依次类推,P1卷回到D处,导致P1卷回到E处,P0卷回到F处,最后所有进程又卷回到起点,重新开始计算所有任务,这种现象称为多米诺效应[5]。
1.2 故障
一个系统是容错的[6],是指并行程序在发生逻辑故障的情况下仍然能够正确地运行,故障模型[7]一般分为两类:Byzatine故障模型和Fail-stop故障模型。本文针对Fail-stop故障模型进行研究,可描述为并行计算中进程的挂起或崩溃情况,是并行计算领域常见的硬件故障模型。fail-stop故障可分为节点失效故障和进程失效故障两大类。节点失效故障一旦发生,进程执行中断不对任何请求做出响应,比如进程崩溃故障、系统掉电故障等;而进程失效故障是指某个进程异常退出,其它进程或运行环境无法感知,并行程序成为悬空程序。两种情况的发生都会导致并行程序计算失败,因此,容错系统应及时检测出出错的故障类型,以便系统进行卷回恢复处理。
1.3 卷回恢复
卷回恢复技术[8]把一个并行系统看作是一个应用进程的集合,各进程相互之间通过网络通讯。在进程无错执行到检查点处将进程的运行状态保存到稳定存储器中来实现容错,当出现错误时,一个出错进程可从检查点处所保存的一个状态中进行重启恢复,这样就可以尽量减少计算的损失。在卷回恢复过程中,可以通过进程迁移来实现,将在出错进程上执行的任务迁移到另外一个进程上,执行同样的计算得到结果。还可以重构并行环境,发生故障后,所有进程卷回到上一次最近的检查点处,利用保存的进程状态重构并行环境,重新分配任务进行计算。本文研究的容错系统采用后一种方法,将出错进程剔除,剩余节点机重构并行环境,实现负载平衡重新执行计算任务。
2 容错系统的设计
本MPI并行程序的容错系统可分为三个模块:用户界面模块、总控模块和检测模块。用户界面模块:是容错系统和用户的通讯接口,用户在界面上完成所有准备工作,然后启动容错系统运行并行程序,并且在计算的过程中,系统运行状态会输出显示在用户界面上,方便用户了解各个节点机的状况;总控模块:掌握整个系统的运行过程,系统初始化、调用执行并行程序、负责检查点操作、卷回恢复处理,以及协调检测模块与总控模块的配合;检测模块:监听各个进程运行状况,一旦发现某个进程发生故障则向总控模块报告。
本容错系统的模块结构图,如图3所示。
2.1 检查点的生成
本文针对MPI并行程序而设计的容错系统,设计的出发点是在容错系统上调用并行程序,然后启动后台并行环境执行并行计算。用户必须将并行程序进行粒度划分,使得每一个粒度成为一个.exe的可执行程序,并将所有的.exe可执行程序交给容错系统。用户可以根据MPI的特点以及需要自由地对并行程序进行粒度划分,并规定.exe可执行程序被容错系统调用的顺序。
容错系统通过依次调用所有粒度的.exe可执行程序完成计算任务,将粒度连接点默认为检查点,作为卷回恢复的参考点,在每个检查点处保存进程的运行状态,利用这些状态去恢复出错的故障。此检查点方法可以避免产生多米诺效应,如图4所示,当进程P1或是P2发生故障时,所有进程停止计算任务,卷回到上一次最近的检查点B或是C处,由主进程P0根据故障类型对出错进程进行恢复,重新执行计算任务。
2.2 用户界面模块
用户界面是用户与程序交互的窗口,比较直观,方便用户与容错系统的交流,在界面上用户进行相应的操作,完成所有准备工作,然后启动系统开始运行并行程序,在计算的过程中各个节点机的运行情况会输出显示在用户界面上,方便用户了解各个节点机的状况。用户的准备工作如下:
1)依次保存要运行的.exe可执行程序;
2)存储机器信息文件,用于判断可用于并行计算的节点机以及故障检测的依据;
3)登记用户名和密码,用于并行计算的节点机的用户名和密码。
在容错系统界面上操作以上三个步骤,即可启动系统执行并行计算。
2.3 总控模块
总控模块是容错系统的核心,由主进程调用执行,主要包括三个部分的内容,系统初始化、检查点操作以及卷回恢复处理,系统功能示意图如图5所示。
1)系统初始化。主进程进行初始化工作,获得使用的机器信息和初始化各类系统资源,系统将初始化设定为第一个检查点,在此处保存所有进程运行状态,即得到本局域网中可用于并行计算的所有节点机,并将相关的信息(即可计算节点机的机器名和IP地址)保存在本地磁盘上的检查点文件中,这些信息用于总控模块给符合条件的节点机分配任务执行.exe可执行程序,同时这些信息也是检测模块执行的原始数据。
2)检查点操作。当系统执行到检查点处主进程调用总控模块进行一次检查点操作,任务是保存此时进程的运行状态到本地磁盘上的检查点文件中,用于执行下一个.exe可执行程序为各个进程分配任务以及发生故障时进行卷回恢复处理的依据。进程的运行状态包括节点机的机器名和IP地址,执行并行计算时将任务平均分配给这些机器名对应的节点机,在这些节点机上分别启动一个进程执行并行计算的任务,IP地址用于检测模块监听进程时判断参与计算的进程是否正常运行。
3)卷回恢复。当参与计算的某一节点机上的进程发生故障时,总控模块执行卷回恢复任务,所有进程停止一切计算任务卷回到上一次检查点处,主进程读取该检查点处的检查点文件内容,得到所有符合运行条件的进程,根据所发生的故障类型进行恢复处理,如图4所示,当发生进程失效故障时,重新启动所有进程再一次进行相同的计算任务,相应的,当发生节点机失效故障时,主进程去掉出错进程,为检查点文件中保存的其他剩余进程重新分配任务,然后进行相同的计算。
2.4 检测模块
检测故障是实现并行程序容错的重要环节之一,保证实现容错功能的先决条件,探知发生故障及其类型并交由总控模块判断进行哪种处理。检测模块由守护进程来实现,周期性地检测进程运行状况是否良好,如发生故障及时通知主进程的总控模块。
利用java提供的异常(Exception)处理实现故障检测的功能。除了标准异常,根据容错功能的需要扩展java.lang.Exception类来实现特定的异常,如在表达故障类型时事先定义每种故障发生对应的异常,将某节点机网络不在线定义为节点失效故障,MPI并行环境的wmpiconfig.exe进程不在线定义为进程失效故障。当抛出异常时总控模块得知发生故障,提供了一种在并行程序容错中实现错误捕捉的机制。
3 系统测试
以基于MPI的P-Q法潮流并行程序为测试用例,验证容错系统的有效性。此并行程序被划分为四个粒度,容错系统依次调用四个粒度的.exe可执行程序。实验方法:在执行计算的过程中断开一台用于并行计算的节点机的网络连接制造节点机失效故障,另一种方法是手动杀死一台节点机上的MPI进程制造进程失效故障。测试结果如表1所示。
实验结果表明,本容错系统能够检测出并行程序计算过程中发生的节点机失效故障和进程失效故障,并且能够对故障进行相应的处理,最终得到并行计算的结果,实现了一定范围内的容错功能。
4 总结
本文将容错技术应用到并行计算中,在不修改原并行程序代码的情况下设计出一个容错系统,利用守护进程实现故障的检测及时发现故障,并结合检查点/卷回恢复技术对出错的进程进行恢复,为并行计算的过程提供保障。本文设计的容错系统实现了对除主机之外的其他节点机故障的恢复,一旦主进程发生故障,则所有计算都白费。本文下一步的研究工作是解决此问题,可以将生成的检查点文件进行备份,保存在另外一台计算节点机上,主机发生故障后将此节点机上的进程转为主进程,负责重构并行环境和启动并行程序重新计算。
摘要:为了确保并行程序能够在并行环境下准确地运行,须提高系统的可靠性,将容错技术应用到并行计算中。该文针对MPI并行程序提出一种容错系统的设计方法,采用检查点/卷回恢复技术、并添加故障检测功能,能够有效地处理节点失效故障和进程失效故障,在一定范围内实现容错,为MPI环境下进行大规模计算提供一个可使用的应用模型。
关键词:MPI并行程序,容错,检查点/卷回恢复,故障检测
参考文献
[1]任波,王乘.MPI集群通信性能分析[J].计算机工程,2004,30(11):71-73.
[2]崔丽青,徐炜民.MPI容错问题的研究及实现[J].计算机应用,2003,23(12):236-238.
[3]周恩强,卢宇彤,沈志宇.一个适合大规模集群并行计算的检查点系统[J].计算机研究与发展,2005,42(6):987-992.
[4]万国伟.消息传递系统容错技术研究[D].长沙:国防科学技术大学研究生院,2006:15-21.
[5]薛瑞尼.面向集群系统的MPI并行程序容错技术研究[D].北京:清华大学,2005:12-23.
[6]丁俊,童维勤.群机系统的容错和恢复[J].计算机应用,2001,21(06):90-92.
[7]孙峻朝,王建莹,杨孝宗.故障和容错机制的层次模型[J].计算机工程与应用,1999(10):5-7.
容错方案设计 篇8
硬件容错技术和软件容错技术经常被结合使用来提高系统的可靠性。目前容错技术主要是基于解析模型和智能容错控制方法, 但是由于实际系统建模困难等因素, 导致容错控制理论主要应用于重大科研项目中, 而一般性的自动化过程使用较少。
在研究珍珠岩混料系统工艺基础时, 引入容错技术以期提高系统的可靠性;同时兼顾企业投资成本, 采用对故障影响程度进行评估的方式对关键工艺进行硬件冗余。在设计容错控制器时, 采用三级故障检测与分离的方法来快速、可靠地定位故障源, 并整合硬件资源, 力求小故障“容错”不停车, 在线检修;大故障“分离”降效率, 离线检修。确保混料过程在保持规定性能或在可接受的性能降级指标下, 持续稳定运行。
1 混料系统工艺设计
珍珠岩吸声板为一种装饰材料, 主要用于对隔离噪音要求较高的场所。珍珠岩混料系统是吸声板自动生产线的主要辅助工艺系统, 为了满足生产线对原料大的需求量, 就要求混料系统必须有很高的可靠性。因此在设计中采取硬件容错和软件容错两种方式来提高整个系统的可靠性[1~3]。
在确定系统方案之前先规划工艺路径, 如图1所示。
图1表示将整个工艺过程划分为8个阶段, 其主要内容与相互之间的关系简述如下:
将硅酸钠固体直接放入水玻璃池中配制水玻璃, 使其与水充分反应、液化;待溶液温度冷却到40C°以下后用螺杆泵将水玻璃溶液输送至配料池;在配料池中按一定质量配比加入其他要求的物料制备成粘合剂, 电机搅拌, 使均匀混合;之后用泵将粘合剂输送到供料罐中储存备用;比例调节阀、流量计等构成流量控制系统, 精确控制粘合剂的流量, 同时利用定量给料器精确地从储料仓中框取出设计体积量要求的珍珠岩粉料, 导入混料搅拌站搅拌;使得粘合剂均匀地浸渍在珍珠岩粉料表面;最后采用振动筛振动的方式, 将直径大于1.5mm的颗粒剔除后, 经导流槽分流, 即完成混料工艺。
2 混料系统硬件容错设计
在工艺基础上, 对系统的可靠性需求进行分析是非常有必要的:一是能够明确系统中潜在的功能风险, 为具体方案设计提供依据;二是能够预测系统中的技术重点或难点, 利于提前准备和针对性设计;三是能够节省潜在设计成本, 因为提前预测了潜在影响因素, 并准备了解决方案。
2.1 混料系统中各工艺重要性评估
工艺的可靠性主要取决于器件的可靠性 (前提是设计工艺的原理必需可靠) , 在本混料系统中主要使用泵、电机, 电动阀门、比例调节阀, 流量计、液位计等器件, 输送的液体物料具有一定粘性和腐蚀因而这些器件可能堵塞和腐蚀, 使系统无法正常运行。
因此确定方案之前应对各工艺的特性认真分析和论证, 只有了解工艺“现在的状况”和“可能的状况”才能应对“潜在的状况”。结合工程经验对混料系统的各个工艺的重要性做出评估, 如表1所示。
表1中故障影响是假设功能块出现故障后, 在人工干预情况下对系统连续运行影响程度的估计。
2.2 混料系统硬件冗余度设计
冗余设计, 强调尽量防止单元出现故障, 但保证单元不出故障是很难实现的;容错设计则首先承认各单元会发生故障, 进而设法保证单元出现故障的情况下, 系统仍能完全正常地工作。容错, 就是增加了系统容忍故障的能力, 冗余是容错必不可少的环节[4]。
此系统主要采用“热备份”的方式对关键结构进行局部冗余设计, 因此选用并行结构的处理方式, 即每一个信息处理系统具有相同的功能目标, 这一目标可以是产生一个控制信号 (相应于控制器或调节阀的情形) , 或预测一个过程参数 (相应于检测仪表情形) [5], 其结构原理如图2所示。
这种并行处理结构, 能提供n个可能的用于产生输出Y的解决方法, 由此可以保证产生的输出Y的潜在可靠性。
图2中, {Xn}为第n个输入参数子集, Fn (Xn) 是第n个处理器的算法, Y为输出, 即为:
式 (1) 中{X1}…{Xn}为n个不同的输入信号经式 (2) 中相对应的不同算法F1 (X1) …Fn (Xn) 而最终获得相同的输出效果Y。假设单回路输出的可靠度为RS=0.7, 当一回路出现故障而采用两回路连机联机监控, 其可靠度为:
当采用n冗余结构时, 其输出可靠度为:
由式 (3) 、式 (4) 计算结果可知冗余结构层数越多系统输出的可靠度就相对越高, 但技术成本也就越高。因此冗余度的设计要兼顾技术成本, 利用上述模型并参考表1的评估结果, 对混料系统进行硬件冗余度进行设计, 如表2所示。
2.3 混料系统的硬件系统设计
表2根据并行结构模型对混料系统进行热备份, 结合技术成本和维护成本以及现场工人技术能力, 对工艺进行了详细的分解, 把一些技术难度特别大, 或者技术成本特别高的工艺采用自动和人工相结合的方式提高系统可靠性。其硬件系统原理图如下图3所示。
图3中A1、A2为配制水玻璃的两个液化池;B、B1、B2为输送水玻璃系统, B为输送管道及电动阀门, B1、B2为两组螺杆泵为输送提供动力;C为粘合剂配制池;D、D1、D2为输送粘合剂系统, D为输送管道及上的电动阀门, D1、D2为两组螺杆泵;E、E1、E2、E3为流量控制系统, E为输送管道及上的电动阀门、过滤器, E1为液下泵, E2为电磁流量计, E3为比例调节阀;F、F1为精确取料系统, F为精确取料器, F1为固体物料储料仓;G为混料系统;H为振动除杂系统;I、I1为排污系统, 结合输送系统定时清理管道内壁污垢, 对混料系统起养护作用。
3 混料系统软件容错设计
混料系统工作流程复杂、工作环境嘈杂、电磁干扰强烈因此低沉本的单片机控制系统无法适应, 故选择PLC作为核心控制器。PLC本身可靠性高, 但其外部设备, 如输入、输出元件、设备及信号线路等的故障率却很高[6]。
因此, 除了要求控制系统硬件具有很高的可靠性外, 利用系统中不同部件之间的内在联系和功能上的冗余性, 设计适当的容错算法就可以减小当某些部件出现故障时对系统造成的影响, 使系统的性能维持在允许的范围之内, 即为解析冗余设计[7]。解析冗余分为重构容错控制和鲁棒容错控制, 其中重构容错控制又分为在线重构和离线重构两种模式。离线重构适合于可能的故障模式事先已经知道, 控制规律可以事先离线确定的情况, 根据检测到的故障把控制器切换到事先设计好的相应的容错控制器中。
3.1 故障检测与分离
在本混料系统中由于硬件资源熟悉, 故障模式清楚, 控制规律已知, 适合采用离线重构的方式设计控制器。虽然已知故障模式, 但却并不清楚故障源, 因此一种可靠地故障检测、定位方法远比控制器本身设计要重要得多。根据目前容错控制理论的应用介绍中虽有多种模型但并不适合本控制系统, 因此在参考故障树相关理论的基础上[8~10], 设计出适合本控制系统的故障诊断模型, 即三级故障检测与分离模型, 如图4所示。
模型第一级使用超时限故障检测法, 快速判断是否发生故障;第二级使用延时复检法核查故障是否为偶发故障, 该方法可以在很大程度上避免系统对偶然因素造成故障的误判;第三级对第二级判定的故障进行确认, 即利用内在逻辑关系判断是其他设备故障造成虚假故障还是设备本身故障, 以及细分为何种故障;由第三级判定的故障, 也并非真正的故障, 仍可继续向下判别, 但这样做需要进行大量的运算, 消耗控制器大量内部资源。事实上经由第三级判定的故障已经可以较详细的确认故障类型, 误判的可能性非常小, 继续判断已无必要。
3.2 调节阀容错控制器设计
电动比例调节阀是流量控制中最关键的器件之一, 它的可靠性直接影响整个工艺的可靠性, 因此它的故障识别至关重要, 故以电动比例调节阀为例 (以下简称调节阀) 说明如何使用三级故障检测与分离模型设计调节阀容错控制器。
调节阀自带位置反馈通过模拟量通道读入PLC中, 其输出为PLC读取电磁流量计数值后经过PID运算控制器计算输出控制值, 该值通过模拟量输出通道控制调节阀。管道中流量变化主要是液下泵输出的不恒定以及混料器间歇性工作 (取料和排料时暂停粘合剂的供应) 造成。其调节阀故障检测与分离流程图如图5所示。
图5中PLC输出调节阀控制值后检测调节阀位置反馈值, 由于PLC输出与调节阀响应存在一定的延时, 因此判断反馈值的变化趋势是否与输出值一致, 若果一致则表明调节阀状态正常;反之, 需要延时0.5s后重新检测判断, 如果正常, 则之前为偶然误差, 可以对偶然误差进行计数, 当超过一定数量后则需对调节阀进行检修等操作。若果复检时仍然不正常则利用其余流量计的内在关系, 通过比较流量计先后的读数值, 判断是否与输出控制值相对应 (此处阀门开度与流量值为正逻辑) , 若一致则可初步断定该故障为调节阀位置反馈异常, 可能是由于反馈线路或位置检测器件出现故障, 此故障为可忽视故障, 只需在正常停车后进行检修即可, 不影响正常生产;若果比较后发现不一致则判定其为调节阀输入故障, 该故障易导致该器件无法使用, 必需使其“离线”检修, 由PLC决策启用备份调节阀等相关器件, 继续工作。
混料系统中其他功能器件的控制模式与此类似, 限于篇幅在此不再赘述。当系统完成故障检测后便可以进行控制决策。由于已知故障类型, 和冗余资源, 按照故障类型进行决策控制, 并将相关信息在工业触摸屏显示, 即完成了容错控制器的设计。
3.3 调节阀容错能力检验
一套完善的自动化生产系统, 除了精心设计与精准安装外, 现场调试是必不可少的一环。此系统工艺过程复杂, 器件种类繁多, 调试难度极大。为保持与上文的连贯性, 在此只继续对调节阀容错控制器容错能力测试进行说明。当整个系统具备初步运行能力后, 对整个系统的容错能力按模块进行测试。在分析系统安全性后针对调节安排如表3所示试验。
表3中设计4次试验主要用于检验控制器的容错能力, 第1组试验不进行任何改变;第2、3组训练故障检测与分离能力, 预期结果与实验结果相吻合说明这种故障识别模式具有一定分辨能力, 第4组试验与预期不一致是因为切断液下泵电源, 触发了液下泵状态检测开关被识别为线路故障, 系统自动启动备用资源, 同时该部分进入“离线”模式, 这种结果显示出系统内各器件间的内在逻辑联系十分紧密, 在提高容错能力的同时, 也对故障的检测有更高的要求, 倘若检测故障失误可能导致系统异常, 因此在后续调试中还需要设计更加详细的故障处理机制。图6为表3中第四组试验状态显示图。
注:为便于显示, 交互界面将整个硬件资源按控制模式进行了划分, 因此与图3有所区别。
图6中为切断调节阀输入控制信号后状态显示, 由于系统识别出液下泵“断电”, 该故障被定义为严重 (故障器件指示灯点亮) , 所以系统将此部分器件全部“离线” (图中红色线条表示) , 同时启动备用资源 (图中绿色流动块表示) , 继续生产。
4 结束语
可靠性一直是自动控制中追求的目标, 而成本是企业最现实的问题, 因此在此混料系统设计时通过全面深入的分析生产工艺并结合工程经验, 用故障危害程度评估的方式将可靠性与成本有机结合, 共同作为冗余度的标准, 完成了硬件冗余设计。利用三级故障检测与分离的方法快速准确地确定故障源并设计容错控制器, 通过后期容错能力测试完善软件设计。
经过现场实际调试发现, 该方法通过采用硬件冗余, 以时间换取可靠性的方式, 提高了整个系统鲁棒性, 实现了精确化的混料工艺, 具有工艺简单, 混料精确, 效率高, 品质好, 便于连续作业和实际操作, 以及在线检修的方式等优点。
参考文献
[1]白锐, 佟绍成, 柴天佑.氧化铝生料浆制备过程的智能优化控制方法[J].控制与决策.2013, 28 (4) :525-530.
[2]Martnez R, Castillo O, Aguilar L T.Optimization of inter-val type-fuzzy logic controllers for a perturbed autonomous wheeled mobile robot using genetic algorithms.Information Sciences, 2009, 179 (13) :2158-2174.
[3]高淑敏, 费玉华.基于PLC的动态系统故障诊断与带故障运行方法[J].北京航空航天大学学报.2004, 30 (9) :868-871.
[4]孙怀义.冗余设计技术与可靠性关系研究[J].仪器仪表学报.2007, 28 (11) :2089-2092.
[5]Relex Software Co.&Intellect.Relaibility:A practitioner’s guide[M].Beijing:Beijing University of Aeronautics and Astronantics Press, 2005.
[6]郑亮, 蒋大明, 戴胜华.PLC可靠性分析与冗余设计[J].工矿自动化, 2005, 2:58-59.
[7]刘小雄, 章卫国, 黄宜军.解析余度关键技术研究与发展趋势[J].计算机测量与控制.2005, 13 (7) :710-747.
[8]胡延平, 赵林峰, 赵斌, 等.基于容错控制的电动助力转向故障诊断系统设计[J].合肥工业大学学报:自然科学版, 2013, 36 (1) :20-23.
[9]Liberzon D, Morse A S.Basic problems in stability and design of switched systems[J].IEEE Control Systems Magazine, 1999 (10) :1-19.
容错方案设计 篇9
大型离散制造业 (如装备、建材、汽车零配件、家具、家电等) 的内部供应链管理问题始终是企业信息化的重点和难点, 也是容易造成企业信息断层的薄弱环节, 内部供应链管理的有效性和科学性直接影响到企业运作的效率和成本, 影响到企业的客户关系和企业形象, 从而影响企业的整体竞争力。在制造业的内部供应链中, 仓储管理又是重要和关键环节, 大型制造业的内部仓储系统往往十分庞大和复杂, 具有品种型号繁多、立体多元密集、动态变化迅速、空间操作面庞大等特点, 企业常常因为物品进库未严格执行预先设定程序而造成出货效率低下, 货物寻址困难, 严重影响企业内部供应链管理。本系统针对大型制造业内部仓储系统的具体特点, 采用RFID触发容错寻址方式, 研究设计大型仓储的智能管理模型, 探索大型制造业的仓储系统智能化管理的普遍规律, 为工业化与信息化融合提供应用模型。系统设计的目标如下:
1) 通过信息化技术在大型制造业智能仓储系统中的应用, 有效提高企业内部供应链运行效率, 降低内部物流成本, 杜绝企业内部物流各环节的漏洞, 避免出现供应链信息断层, 提高企业信息化水平和整体竞争力;
2) 通过分析大型制造业智能仓储系统的典型事件流模型, 研究设计一套适应于大型离散制造业的内部仓储智能管理系统, 通过配置化、移植化、模块化等手段, 形成典型的大型仓储管理系统的应用解决方案, 为系统产业化打下基础;
3) 我国是世界制造业基地, 大型制造企业不乏其数, 这些企业大多具备离散制造的特点, 其内部供应链管理都面临同样的问题。本系统研究的成果可以在这些企业中得到很好的应用, 对推动我国制造业的发展具有重要意义。
2 大型仓储系统的现状分析
国内大型制造企业的仓储管理大致分为3种类型:传统式的人工管理、依赖ERP系统的供应链管理、智能仓储管理系统。
传统的仓库管理一般依赖于一个非自动化的、以纸张文件为基础的系统来记录、追踪进出的货物, 完全由人工实施仓库内部的管理, 因此仓库管理的效率极其低下, 所能管理的仓库规模也很小。依赖ERP系统的供应链管理是基于企业的局域网或互联网, 对仓储的管理货物或材料进行计算机信息化管理, 物品进出仓依赖人工电脑输入, 并少量使用工作单的传递, 货物的堆放和定位靠事先的预定程序设定, 操作者必须严格执行, 货物的进出平衡基本有保证, 但寻址和定位就可能因为人的责任心或现场的客观情况而难于实现精准管理, 通常要靠一段时间进行一次盘点来理顺, 但盘点毕竟是事后行为, 并不能实现仓储系统信息的实时化。智能仓储管理系统常常采用条码技术、二维码技术甚至是RFID技术, 对仓库到货检验、入库、出库、调拨、移库移位、库存盘点等各个作业环节的数据进行自动化的数据采集, 保证仓库管理各个环节数据输入的速度和准确性, 确保企业及时准确地掌握库存的真实数据, 合理保持和控制企业库存。目前, 各大企业采用数据自动采集技术管理供应链中的仓储系统, 其采集方法还是被动采集或半自动采集, 数据采集终端通常装配在托盘或叉车上, 或者是操作者手持便携式终端, 无法做到密集货架地址的唯一性, 客观上还是无法实现货物的动态寻址, 一定程度上还是依赖人的责任心。
我国的大型制造企业的内部仓储系统虽然庞大, 但自动化程度还很低, 建设机械化、自动化的仓储系统投资也十分惊人, 在未来很长时间内还将维持目前现状。因此设计一种既能实现数据自动采集, 又能实现货物自动容错定位的仓储管理解决方案, 是一种既省钱又能达到智能管理目的的好方法, 这也正是本系统的核心内容。
3 系统设计的主要内容
1) 研究开发全新理念的主动采集、容错寻址的RFID技术部署方案, 包括货物托盘电子标签设计及部署、多层密集货架感应天线设计及部署、密集采集分布式读写器设计及部署、多通道数据通讯路径设计及部署、RFID原始信号的预处理 (如隔离、分序、过滤、判断及干扰处理等) 、故障诊断及定位系统的设计等;
2) 仓储系统数据库及软件平台设计, 数据库设计包括货物动态平衡数据库设计、三维货架状态数据库设计、托盘状态数据库设计、电子标签与读写器天线逻辑地址数据库设计、逻辑状态与物理状态对应关系的数据库设计、内部操作人员及操作设备数据库设计等;软件平台设计包括仓储监控平台、物品进库平台、物品出库平台、货架动态分配平台、智能寻址平台、托盘及操作设备调度平台、盘点及统计平台等;
3) 系统数据与ERP内部供应链管理接口设计。包括异构数据的同步与访问、ERP指令的接受、仓储状态的动态实时上传等, 以实现企业整体信息化。
4 系统要解决的关键技术难题
1) 解决适应于金属表面的电子标签和读写器天线的通讯有效性问题。众所周知, 金属表面会改变电子标签和读写器的性能和参数, 对数据采集造成严重干扰, 影响电子标签的识读和通讯, 由于大型仓储系统的载体单位的成品仓库无论是货架、托盘还是货物很可能是金属材料, 在其上部署RFID技术, 通讯的有效性是首当其冲的难题;
2) 解决密集读写系统的数据通路隔离和地址匹配问题。大型仓储的立体货架、货位和托盘都非常多, 每个托盘都部署有电子标签, 每个货位都部署有读写天线, 读写器的数量非常多, 可见RFID数据通讯十分频繁, 一方面要建立物理位置与逻辑地址的对应关系, 处理好信号采集及通讯的排序、防冲突、防干扰、信号甄别、信号遴选等核心问题, 处理好RFID触发网络反应速度问题;另一方面要处理好信号的隔离问题, 防止单元故障引发系统故障, 同时通过诊断软件, 第一时间定位故障单元, 以便及时排除故障;
3) 解决RFID识读的距离和极化问题。大型仓储系统操作面庞大, 货物就位大多采用厂内机动车协助, 随意性大, 就位不可能十分理想, 托盘电子标签与货架读写天线的距离忽远忽近, 角度也可能偏移。因此, 读写距离和极化角度是一个直接影响数据采集有效性的关键问题, 范围过大会影响不同货位之间的数据混读, 范围过小则会造成漏读。解决这一问题一方面要根据现场情况设定合适的读写距离和极化角度;另一方面要适当设置屏蔽和隔离设施, 以确保数据采集的准确性;
4) 解决货物批次与托盘级管理的货物分解与合成问题。由于采用了托盘管理, 为提高空间利用率, 很可能同一批次和型号的货物分布在不同的托盘和货架, 这就是货物批次分解问题。相反, 在货物量少的情况下, 不同批次和型号的货物可能存放于同一托盘和货架内, 这就是货物批次合成问题。因此, 必须根据实际操作情况, 分析并建立货物分解和合成事件流模型, 厘清并规范分解与合成的逻辑关系, 形成标准的计算机解决方案, 这样既可提高软件系统的可靠性, 又便于技术平台的产业化应用。
5 系统设计的具体方法
5.1 总体方案设计
仓储管理是企业供应链管理的一个重要环节, 必须基于企业的现行ERP系统来进行设计, 才能实现其智能管理和科学决策功能。底层也就是原始信息采集层通过通讯系统将大量数据包传输到服务器, 以供管理及决策使用。因此, 本项目总体设计的主要任务是仓储数据采集系统、数据通讯系统、数据库系统、管理软件系统、与供应链接口系统以及与企业ERP接口系统。图1是本系统的总体设计体系结构图。
5.2 RFID部署设计
RFID部署的科学性直接关系到系统的稳定性、有效性和可用性, 为实现RFID触发容错寻址, 同时防止通讯路径的相互干扰和冲突, RFID系统部署共分为三级网络, 一级网络包含四个二级子网络。每个二级子网络包含20个三级子网络。每个三级子网络包含66~132个RF读写器节点。RF读写器及电子标签采用125k Hz, 传输方式采用485工业总线技术传输, 电源采用分组供电方式, 每6个RF读写器节点共用一个电源。
所谓触发容错寻址, 就是操作者在运送货物到货架存放时, 无论是严格按计算机事先安排的空位存放还是因多种原因造成错误存放, 计算机系统都能通过RFID的实际触发地址而进行容错处理, 货物及托盘的实际物理地址并不会出现混乱。本系统通过在密集货架的每一个货位上设计部署逻辑地址唯一的读写器或感应天线, 在每一个托盘上部署唯一UID码的电子标签, 一旦托盘进入货位的识读范围, 即可触发RFID系统动作, 将货物与货架的对应关系自动传输到计算机系统, 计算机系统数据库里始终保存着正确的地址信息。这种方式下允许人的操作误差, 并实现自动容错, 充分体现了人性化设计的特点, 同时大大提高了系统的稳定性和适应性。
5.3 软件系统设计
软件系统是实现管理功能和决策功能的载体和工具, 软件设计基于RFID采集的原始信息数据库、物理仓储系统抽象描述数据库及货物属性描述数据库, 大型制造业内部仓储系统软件设计至少包括如下平台:动态监管及调度平台、入库作业平台、出库作业平台、移库作业平台、盘库作业平台、数据接口平台、数据挖掘及分析平台等。
1) 动态监管及调度平台:包括监管仓库的货物存量、货物流量、货物存放物理及逻辑位置、发送入库指令、发送出库指令、货物寻址指引、维持动态平衡等功能;
2) 入库作业流程:收货检验=〉制作和粘贴标签=〉货物进托盘=〉现场计算机自动分配库位=〉运送货物到指定库位 (错放了也没关系, 系统会自动容错) =〉托盘与货架自动对接通讯=〉每次操作的货架号和对应物品编号自动传输到网络计算机系统=〉计算机比对实际存放库位与理论存放库位是否一致=〉更新库存数据库;
3) 出库作业流程:中心计算机下达出库计划=〉现场计算机编制出库指令=〉作业人员按数据终端提示, 到达指定库位=〉从库位上取出指定货物对应的托盘=〉货架与托盘脱离触发RFID动作=〉货物离开货架的信息自动传输到计算机网络=〉货物运送到出口处=〉向现场计算机发回完成出库作业信息=〉更新中心数据库;
4) 移库作业流程:根据需要, 计算机编制移库指令=〉将需要移动的货物对应的托盘从货架取出=〉货架与托盘脱离触发RFID动作=〉货物离开货架的信息自动传输到计算机网络=〉运送货物到指定库位=〉托盘与货架自动对接通讯=〉每次操作的货架号和对应物品编号自动传输到网络计算机系统=〉更新库存数据库;
5) 盘库作业流程:分为自动盘库和人工盘库。自动盘库流程:计算机发出盘库指令=〉对RFID全部单元进行扫描=〉输出盘库结果=〉比较盘库结果与货物实际存量, 不符时发出警示=〉向现场计算机发出盘库结束信息。人工盘库采用便携式RFID数据终端和条码终端, 理论上并不需要人工盘库, 只有当货物、货架、托盘出现匹配混乱时才需进行;
6) 数据挖掘及分析平台:包括生成统计分析报表、决策建议、仓储效率分析、物流路径优化设计、操作者考核与作业量统计等。
6 结论
容错方案设计 篇10
1容错技术
容错控制[3]的根本特征为“当控制系统中发生故障时, 系统依然能够维持其自身运行在安全状态, 并尽可能地满足一定的性能指标要求”, 有两种方法分为被动容错控制和主动容错控制。被动容错控制采用固定的控制器来确保闭环系统对特定的故障不敏感, 保持系统的稳定。而主动容错控制是在故障发生后, 根据所期望的特性重新设计一个控制策略, 使整个故障系统达到稳定。主动容错控制[4]相比于被动容错控制, 更具设计弹性且更有应用价值。
2基于主动容错设计的滤波算法
和传统的滤波算法不同, 本文拟提出一种改进的基于主动容错设计的发动机转速滑动平均滤波算法。通过故障诊断机构的结果对传统的滤波算法进行容错设计, 在线修改滤波算法, 在转速传感器采集值出现跳变或两路转速采集值偏差超过了某一数值时, 滤波后的转速能够平滑过渡而不对发动机转速控制性能造成较大的影响。
控制系统通过输入信号将采集值传递给故障检测模块, 故障检测得到对应的故障码后进入容错处理模块, 处理完毕的信号又重新传递回控制系统进行燃油流量、防喘阀调节等闭环控制。模块间相关关联图见图1。
传统的滑动平均滤波算法, 是指在每个采样周期内只采样一次, 将这一次的采样值和过去N次采样值一起求平均值作为本次的滤波结果。本文提及的基于主动容错设计的滑动平均滤波算法, 是将故障检测的结果作为影响本周期采样值的参考条件, 当故障检测模块检测到有故障发生时, 当前周期的采样值将不再放入滑动平均滤波算法中进行计算, 而是对过去n-1次的采样值求取平均值作为当前周期的滤波结果, 主动忽略当前采样周期的采集数据, 以此类推, 直至N+1次采集周期的采集值均无效后, 则将滤波结果设置为安全值。
假设当前转速传感器的采集值为SPDSample, 转速传感器待滤波数组为SPDF [x], 转速传感器滤波有效状态数组为SPDFlag[x], 最终的滤波结果为SPDFliter, 滤波次数设置为4, 当故障检测模块未检测出故障时, 滤波结果的SPD_FILTER的计算方法见公式1:
当某一采集周期内故障检测模块检测出故障时, 滤波结果的SPD_FILTER的计算方法见公式2:
转速传感器的采集值的正确与否则根据转速传感器的特性分为以下几种检测方式:
A.本采集周期转速传感器是否开路;
B.本采集周期内转速传感器是否短路;
C.本采集周期内的转速传感器采集值是否超过了上界;
D.本采集周期内的转速传感器采集值是否低于了下界;
E.本采集周期内转速传感器的采集值和上一采集周期内的采集值是否在有效的范围内;
F.本采集周期内两路转速传感器的采集值是否在有效的范围内。
通过以上的检测方式确认当前通道或是当前采集周期内的转速传感器采集值是否合理并有效。
3结束语
本文介绍的算法主要包括故障诊断和容错控制两个部分, 故障诊断技术为容错控制的研究提供了必要的基础和前提, 容错控制为故障诊断的研究注入了新的活力。该算法是一种改进的基于主动容错设计的滑动平均滤波算法, 对传统转速滤波算法进行了修改, 即通过故障检测的结果修改当前采集周期的转速传感器待滤波数组和转速传感器滤波有效状态数组, 在线修改滤波窗口, 从而达到主动容错控制的功能。改进后的滤波算法开环在线仿真或不再受个别奇异点的影响, 能够有效的剔除奇异点, 提高了发动机稳转性能。
参考文献
[1]王永强, 叶昊, 王桂增.网络化控制系统故障检测技术的最新进展.控制理论与应用[J].2009年4月第26卷第4期:400-409.
[2]何静, 邱静, 张昌凡等.非线性系统的集成故障诊断和容错控制.机械工程学报[J].2009年5月第45卷第5期:70-78.
[3]王敏, 臧曙, 周东华.非线性动态系统的容错控制.计算技术与自动化[J].2004年12月第23卷第4期:7-10.
容错方案设计 篇11
关键词:强制;容错;爱
2003年,我第一次当班主任就碰到了全校最调皮的学生崔某,那时,我心里很恐慌,因为毕业没几年,工作上也没什么经验,他如果给我捣乱那该怎么办?忐忑的心不言而喻,但我想:绝不能让他得逞,让我教师的威严扫地。
果不其然,开学没几天,他的本性就露了出来,上课不听讲,前后桌说话,课下总和几个男生调皮捣蛋,捉弄女同学,俨然一副黑帮老大的架势,作业更是不写,几乎每天都有人告他的状。我这个刚当班主任的老师,哪能让他这么猖狂,太有损我的威严了。于是,我开始想办法“治他”:先把他安排在教室的最前头,单人独坐,不让他和任何人说话。下课再让他去办公室做作业,这样既治了他下课捣乱,又能督促他写完作业。在进办公室的这段时间里,我还时不时对他的大小错误进行各种教育,正当我为我的“好”办法沾沾自喜的时候,没几天,形势开始不妙,我发现他开始和我“对着干”——上课不仅不听,还睡觉,下课也不去办公室,并且变本加厉地骂人打架。说他,他脖子一梗,嘴里还振振有词,不服气的表情一览无余。这下,我慌了,不知该如何是好。他的成绩更像是坐滑梯,直线下降。通过这段时间的接触,我不得不承认,他是个聪明的学生,只要上课稍微一听,成绩就不会太差。但如果这样下去,他反而会破罐破摔。这是我作为一名教师最不愿意看到的。然而,覆水难收,我的话他再也不听了,这时我才意识到自己犯了个多么大的错误——对于某些个性很强的学生,强制措施非但不会使他们屈服,反而更会激起他们的“斗志”,与老师对着干。直到他升入高年级,他对我的敌意也没消除。我带的班级,也由于他,纪律很差,那一年,我疲惫不堪,但收效甚微。这次惨痛的经历,成为我教育生涯中时常警醒我的案例。
如今,十年过去了,我想:如果重来一次,根据他的调皮个性去教育他,若没有因为老师不恰当的教育方式而自尊心受到伤害,他还是愿意尊敬和信任老师的。所以,刚一接班开始,我就应该以我的真心去感动他,而不是先把他放在自己的对立面,我应该相信每个学生都是一块等待琢磨的美玉,尽管开始有些许杂质。
其实在一个学生的成长过程中,犯错调皮是难免的,俗话说:“人非圣贤,孰能无过?”没有错,也就无所谓正确,无所谓比较,无所谓研究,最终也就无所谓发展。出错不可怕,可怕的是不让出错,不让出错,就是不让发展和成功。学生十几年的成长过程,就是一个不断出错、不断纠错的过程。因为学生还不成熟,容易出错,出错是正常的。出了错,才会有点拨、引导、解惑,才会需要教师的敏感、机智和智慧,才会需要教师对学生付出巨大的宽容、乐观的期待以及真正的爱护。然而,在当时的教育过程中,也许年轻,我似乎没有认识到这一点,对学生的基本素质估计过高,容不得学生有半点差错,也容不得学生有半点违抗我的命令。我总是频繁地对学生进行批评教育,容不得学生错误,弄得我筋疲力尽,学生则无所适从。这种脱离实际的要求,不仅没有任何价值和意义,还给学生和自己带来了一系列负面的影响。
不容许学生有过错、有反抗,不仅仅是一种过于苛刻的不现实的教育要求,更可能会导致一部分个性很强的学生站在教育的对立面,不听你的教诲,故意捣乱,还可能会使一部分性格相对温和的学生“敢想、敢说、敢为”品格的丧失,妨碍学生创造精神和实践能力的培养和提高。这是因为教师是大部分学生心目中的崇拜者,既然教师容不得自己有差错,那么,即使有和老师不同的声音,学生也必然选择“不想、不说、不为”。上面例子中的崔某,虽然调皮捣蛋,但却是个聪明的学生,但我的一些强制性的措施并没有使他从内心深处认识到自己的问题,我频繁地对他纠错,他不但没有认同,还怀恨在心,所以他选择上课睡觉,不听讲、不说话,用这种自毁的方式来和我默默对抗。
容错方案设计 篇12
关键词:片上网络,容错设计,可靠性
0引言
以2000年由瑞典 皇家理工 学院Hemani、Janstch等人首先 在论文中 明确定义 了 “Network on Chip ”的概念为 标志[1], 片上网络 正式成为 一个研究 领域已经15年了 。 自该领域 诞生之初 起 ,片上网络 的可靠性 设计就被 作为一个 重要问题 被各国研 究者所重 视 。 Benini和Micheli分析了片 上通信网 络的分层 模型并且 给出了每 层模型应 该具备的 功能时 , 明确提出 了可靠性 设计的需 求[2]。 片上网络 的可靠性 问题随着 集成电路 工艺的进 步和片上 网络互联 规模的扩 大变得日 趋严重 。 一方面集 成电路工 艺在向纳 米级演进 的过程中 ,由于加工 精度 、功耗密度 、 集成规模 等因素而 导致工艺 误差 、 老化 、 单粒子翻 转等问题 日益严重 ,从而导致 器件的故 障概率极 大增加 。 另一方面 随着片上 网络规模 的扩大而 导致的总 元件数量 的上升 ,导致片上 网络中故 障发生的 总量急剧 上升 。 因此通过 合理的容 错设计方 法提升片 上网络的 可靠性成 为片上网 络进一步 发展过程 中绕不开 的一大难 题 。
集成电路 的故障类 型依据其 发生频率 和产生条 件可以划 分为临时 性故障(Transient Fault) 、间歇性故 障 (Intermittent Fault ) 以及永久 性故障 ( Permanent Fault ) 三类[3]。 参考文献 [4] 中总结了 多种不同 的物理效 应和三类 故障的对 应关系 。 临时性故 障主要由 于孤立事 件翻转 (Single Event Upset , SEU和Single Event Transient , SET ) 以及电子 系统内部 噪声引起 。 此类故障 的主要特 点是临时 出现且发 生位置随 机分布 ,与外界环 境和工作 条件关系 不大 。 与临时性 故障相对 应的是永 久性故障 ,主要由工 艺误差 、老化 、电迁移等 原因引起 的元器件 损伤造成 。 永久性故 障一旦发 生将永久 存在 ,且故障的 总量将随 着集成电 路使用时 间的增加 而持续增 大 。 永久故障 的位置分 布有一定 的随机性 , 但由老化 、 电迁移等 原因引起 的永久性 故障则在 一定程度 上受温度 、功耗密度 等内外部 环境因素 的影响 。 间歇性故 障介于临 时性故障 和永久性 故障之间 , 主要是由 于不同因 素而导致 的时序问 题而诱发 。 虽然某些 因老化等 因素导致 的间歇性 故障会随 着集成电 路使用时 间的增加 而退化为 永久性故 障 ,但更多的 间歇性故 障则是由 于特定时 刻串扰 (Crosstalk)、 温度变化 ( Temperature Variation ) 、 电压紧急 ( Voltage Emergency ) 等内外部 环境因素 造成的时 序问题而 引发 。 因而这些 时序问题 发生的时 间和概率 虽然也呈 现出一定 的随机性 ,但却更容 易发生在 集成电路 中关键路 径 (Critical Path ) 和受环境 因素影响 更大的区 域 。 由于间歇 性故障和 临时性故 障均不会 持续发生 ,在以往的 一些研究 中通常将 其归为一 类故障加 以研究[5]。 但随着集 成电路工 艺的进步 和低压/近阈值集 成电路设 计方法的 兴起 , 间歇性故 障由于其 发生概率 极大提升 而成为了 一个重要 问题[6], 近年来针 对这类故 障的研究 明显增加 。
由于集成 电路故障 成因和类 型的研究 大多属于 器件和工 艺层面的 研究内容 ,在研究容 错设计时 通常需要 根据设计 目标的特 点将其抽 象为特定 的故障模 型以便深 入研究 。 在抽象的 过程中将 不可避免 地简化故 障的某些 特征 ,而不合理 的特征取 舍可能导 致基于此 模型的容 错设计研 究出现偏 差 ,进而设计 出容错效 率较低的 硬件结构或出现过度设计(Over Design)。 对于片上网络而言 , 故障可以 在数据链 路层 、网络层和 传输层分 别被抽象 为不同的 模型 。 数据链路 层主要将 故障抽象 为链路上 信号的阻 塞 (Stuck-at)和翻转 (Upset)[7]。 网络层的 故障模型 主要为自 适应容错 路由研究 服务 ,传统上将 故障划分 为链路故 障和路由 器故障[8]。 在传输层 的故障模 型则主要 是考虑数 据包内容 错误或完 全丢失[9]。 这些模型 在很大程 度上降低 了容错设 计的复杂 度 ,但相应的 也隐藏了 一些关键 特性 。 但更为严 重的是 ,这些模型 大多直接 借鉴传统 的计算机/通信网络 故障模型 , 对片上网 络的特异 性没有给 予足够的 体现 。 造成这种 情况的部 分原因是 因为片上 网络在研 究的初期 大多以架 构设计 、 拓扑分析 、 路由算法 研究等相 对高层次 的研究为 主 ,与之相伴 的容错设 计研究也 大多采用 相对粗糙 的模型 。
随着片上 网络研究 的全面成 熟和片上 多核技术 的普及 ,片上网络 已经从系 统结构设 计层面转 向实现与 应用层面 。 自2007年Tilera公司推出 了基于片 上网络互 联结构的64核处理器Tile64[10]起 ,基于片上 网络的多 核处理器 芯片日渐 增多 。 多伦多大 学ABDELFATTAH M S等人于2014年发布了 面向现场 可编程门 阵列 (FPGA) 的嵌入式 片上网络[11]则标志着 片上网络 开始被用 于多核处 理器芯片 以外其他 类型的芯 片中 。 而在这一 过程中片 上网络的 实现结构 也日益明 确 ,多数关键 模块的实 现形式已 有一些基 本定论 。 因此我们 有条件重 新思考在 当前和未 来集成电 路工艺条 件下片上 网络故障 模型的合 理性 , 从而得到 更加合理 、 可行 、 适用的故 障模型 , 为进一步 提升容错 设计的容 错效率并 减少过度 设计带来 的额外开 销奠定基 础 。 同时正确 地分析导 致故障行 为的物理 效应 ,也将有助 于设计合 理的容错 方案 。 本文将分 别对现有 片上网络 故障模型 和容错设 计方法的 合理性进 行初步分 析 ,为从事片 上网络容 错设计的 相关研究 者提供参 考 。
1片上网络故障模型合理性分析
传统的片 上网络故 障模型在 片上网络 容错设计 的研究中 曾发挥过 重要作用 ,但随着片 上网络的 发展以及 实用化程 度的提高 ,片上网络 故障模型 与实际的 片上网络 故障行为 之间的差 距日益明 显 。 因此需要 从造成片 上网络故 障行为集 成电路物 理效应出 发 ,重新审视 片上网络 故障模型 的合理性 。
1.1传输层故障模型分析
传统网络 的传输层 故障模型 主要分为 数据包内 容错误与 数据包完 全丢失 。 其中数据 包丢失是 传统网络 传输层所 要解决的 主要问题 。 造成传统 网络中传 输层数据 包丢失的 主要原因 包括 :
(1) 数据包内容错误超过底 层协议可以 恢复的极 限而被底 层硬件 (如网卡等 )直接丢弃 而造成的 数据包丢 失 ;
( 2 ) 数据报头 错误导致 错误的传 输 , 如IP报头 、 TCP报头校验 错误时数 据包会被 丢弃而造 成数据包 丢失 ;
(3 ) 由于传输过程中链路拥 塞而导致数据包 超过生存 时间而被 丢弃 。
由于数据 包内容成 果底层协 议可以恢 复的极限 这一问题 和底层故 障概率以 及容错设 计能力有 关 ,传统网络 中数据包 由于传输 距离较远 而容易出 现错误 ,而片上网 络底层的 故障概率 却并不一 定很高 。 对这一问 题的具体 探讨将在1.3节中再详 细讨论 。
相比于传 统网络 ,片上网络 的传输层 故障有其 不同的特 征 。 相对于传 统网络 ,片上网络 的规模偏 小且拓扑 结构相对 固定 ,因而在设 计之初可 以通过多 种仿真方 法对片上 网络的传 输带宽作 较为精确 的分析 。 同时由于 片上网络 所承载的 是多处理 器核心之 间传输的 信息 ,由于信息 传输实时 性要求较 高而导致 拥塞避免 是片上网 络设计优 化过程中 必须要考 虑的重要 问题 。 因此由于 链路拥塞 而丢弃数 据包这种 行为通常 在片上网 络中并不 被允许 ,因而这一 故障原因 在片上网 络中并不 存在 。
与传统网 络大多采 用串行传 输方式不 同 , 片上网络 基本是基于Flit的并行传输方式,通常在首个Flit中包含地址 、控制等重 要信息 。 由于采用 并行传输 的方法 ,不同的位 通常采用 不同的物 理连线传 输并独立 地存储于 不同的存 储单元中 ,因此针对 重要信息 的位所用 物理连线 和存储单 元可以采 用有别于 普通位的 保护措施 以加强 。 如对地址 信息采用 性能更强 的纠错编 码 ,控制信号 采用三模 冗余 (TMR)等[12],这些链路 层容错措 施将有效 降低甚至 消除由于 报头错误 而导致的 数据包丢 失的问题 。
综上 , 在一个容 错设计合 理的片上 网络中 , 传输层故 障模型中 的数据包 丢失故障 可以基本 忽略 。 因此需要 充分地分 析底层设 计的容错 能力以确 定正确传 输层故障 模型是否 需要考虑 丢包故障 。
1.2网络层故障模型分析
在过去10多年片上 网络容错 路由的研 究通常面 向由永久 性故障引 起的片上 网络路由 节点或链 路功能性 问题 , 通常认为 由于制造 缺陷 、 老化等原 因造成的 晶体管失 效是导致 永久性故 障的主要 原因 。 在传统网 络的网络 层故障模 型中 ,故障一般 被分为链 路故障和 路由节点 故障以方 便容错路 由算法的 研究 。 在早期的 片上网络 容错路由 的研究中 也普遍地 采用了这 样的划分 方法 ,这一时期 片上网络 的研究大 多停留在 架构设计 与分析的 层面 。 但随着Intel等公司先 后发布了 一系列基 于片上网 络的多核 处理器芯 片[13]之后 ,片上网络 的硬件实 现结构日 益明确 ,相应的网 络层故障 模型也需 要革新 。
传统网络 中路由节 点故障可 能由多种 原因导致 , 如路由器 的电源失 效导致其 因断电而 无法工作 ,整个路由 器的功能 将完全丧 失而导致 与其相连 的链路均 处于断开 状态 。 片上网络 路由节点 与传统网 络路由节 点不同的 是其功能 完全由晶 体管组成 的逻辑电 路实现 ,而晶体管 并不会出 现大面积 同时失效 的情况 。 因此 ,如果单个 晶体管的 失效不会 导致整个 片上网络 路由节点 的功能完 全丧失 ,则片上网 络路由节 点故障实 质上并不 存在 。
一个典型 的片上网 络路由节 点硬件实 现结构如 图1所示 。
从图1中可以看 出其数据 通路 (Data path)可划分为 输入缓冲 器 、交换矩阵 、输出寄存 器等三个 部分 。 其中输入 缓冲器中 任何晶体 管失效最 多只能导 致与自身 相关的输 入链路出 现故障 ,输出寄存 器中任何 晶体管失 效同样最 多只能导 致与自身 相关的输 出链路失 效 。 因而这两 部分任意 晶体管失 效均无法 造成整个 路由节点 出现工作 不正常的 情况而导 致路由节 点故障 。 交换矩阵 中的故障 行为和其 具体的实 现结构有 关 , 参考文献 [14] 中给出了 三种不同 的交换矩 阵实现方 式 ,可以分别 由传输管 矩阵 、三态门矩 阵以及标 准CMOS逻辑门实 现的多路 复用器 。 传输管矩 阵和三态 门矩阵相 比于标准 的CMOS逻辑门的 多路复用 器而言虽 然具有更 小的面积 和更低的 功耗 , 但由于这 两种方案 均存在延 迟难以确 定 、 驱动能力 偏弱 、可能由于 控制信号 的时序问 题而产生 临时性的 短路等问 题而在实 际的芯片 中较少采 用 。 采用传输 管矩阵构 建交换矩 阵时 ,若某个传 输管由于 某种原因 处于导通 状态 , 则至少有 一对输入 线与输出 线处于短 路状态 ,如图2(a)所示 。 处于这种 状态的交 换矩阵不 但影响故 障传输管 所在的输 出 ,还有可能 通过短接 的输入线 影响到其 他输出的 电平 。 而采用的 三态门矩 阵和标准CMOS逻辑门的 多路复用 器构建的 交换矩阵 由于其单 向传输的 特性 , 则只会影 响到故障 所在的输 出 , 如图2 (b) 所示 。 由此可见 , 在不采用 传输管矩 阵构建交 换矩阵时 , 单个晶体 管的失效 只影响其 所在的输 出端口 ,而不会波 及其余输 出端口 。 因而在大 多数不采 用传输管 实现交换 矩阵的路 由节点中 ,数据通路 上任意位 置出现单 个晶体管 失效均可 以被等效 为输入链 路故障或 输出链路 故障 ,而不会出 现路由节 点功能整 体失效的 情况 。
在对路由 节点的架 构分析中 , 路由节点 控制通路 ( Control path ) 故障通常 被认为会 导致路由 节点整体 功能失效 。 这是因为 架构设计 人员在仿 真中习惯 于调用同 样的功能 函数来模 拟各个输 入和输出 链路的路 由 、仲裁等功 能 。 但在实际 的路由节 点硬件结 构中 ,路由计算 单元通常 与输入缓 冲器配对 实现 ,而仲裁电 路则通常 与输出寄 存器配对 实现 。 这样设计 的原因是 可以保证 多个输入 输出链路 可以同时 完成路由 计算 /仲裁的工 作 , 从而最大 限度地利 用硬件并 行工作的 特性提升 包交换的 速度 。 参考文献[15]中给出了 路由计算 模块和仲 裁模块实 现的示意 图 , 从中可以 较为明确 地获悉这 种配对的 特性 。 因此 ,当某个路 由计算单 元中晶体 管失效而 导致该单 元工作不 正常时 ,可以认为 与之配对 的输入缓 冲器工作 不正常而 将其等价 为输入链 路故障 。 而当某个 仲裁模块 中晶体管 失效而导 致该单元 工作不正 常时也可 以认为与 之配对的 输出寄存 器工作不 正常而等 效为输出 链路故障 。 因此 ,在一般情 况下路由 节点控制 逻辑中单 个晶体管 失效也不 会造成其 整体功能 失效 。 随着失效 晶体管数 量的增加 ,可能出现 多条输入/输出链路 故障 , 从而使得 节点大部 分功能丧 失 。 此时可以 将多条链 路故障等 效为路由 节点故障 。
结合上面 的分析可 以得出这 样的结论 , 在使用常 规的片上 网络路由 器硬件结 构设计方 案时 ,单个或少 量的晶体 管失效通 常不会引 起路由节 点整体功 能的失效 或故障 。 这些故障 基本可以 被等效为 链路故障 而非路由 节点故障 。 但随着一 些新的仲 裁方法或 路由算法 的提出 , 其对应的 电路结构 可能会发 生一些变 化而导致 出现路由 节点故障 的可能 ,但出现这 种故障的 可能性需 要进一步 探讨 。 针对一个 具体的片 上网络设 计其容错 方案时对 片上网络 路由节点 的具体电 路结构进 行适当的 分析 ,即可以确 定是否有 必要采用 路由节点 故障模型 。 目前大部 分容错路 由的研究 者已经开 始更倾向 于使用链 路故障模 型而非路 由节点故 障模型 。
1.3链路层故障模型分析
链路层故 障模型主 要考虑由 于数据在 传输过程 中某些比 特位的翻 转 、呆滞等现 象造成该 位出现错 误 。 造成链路 层故障的 物理效应 有很多 。 元件老化 、电迁移效 应 、制造误差 等原因造 成的某位 信号线短 路或断路 可以被认 为是链路 层的永久 性故障 ,单粒子翻 转效应等 影响存储 单元状态 而造成数 据错误可 以被认为 是链路层 的临时性 故障 ,电压紧急 、串扰 (Crosstalk)等在特定 的外部环 境或特定 工作状态 下引起的 数据错误 可以被认 为是链路 层的间歇 性故障 。 因而链路 层故障实 际包含了 临时性故 障 、 间歇性故 障和永久 性故障三 种不同的 故障分类 。 这三种故 障在链路 层虽然故 障行为表 现相近 ,但由于其 成因的区 别导致使 用链路层 故障模型 时其故障 概率和故 障注入方 式有所区 别 。
临时性故 障由于是 由单粒子 翻转等原 因引起的 , 其发生时 间和位置 均近似呈 随机分布 。 因此针对 临时性故 障的链路 层故障模 型可以视 为以一定 的概率随 机在更改 任意位置 、 任意信号 线的值 , 并不需要 对故障的 注入做特 殊的处理 。 发生间歇 性故障则 明显的受 到环境以 及具体硬 件结构的 影响 ,其发生的 时间和位 置存在一 定的规律 性 ,但故障是 否发生仍 然具有一 定的随机 性 。 永久性故 障根据其 产生原因 不同 ,故障出现 的规律也 有较大区 别 。 由加工误 差引起的 永久性故 障在分布 时具有随 机性 , 但由于老 化引起的 永久性故 障则明显 与环境有 关 , 因而其空 间位置的 分布不是 完全随机 的 。 所以链路 层间歇性 故障和永 久性故障 的发生概 率和空间 分布问题 是一个需 要讨论的 问题 。
首先对链 路层间歇 性故障的 发生概率 和空间分 布加以讨 论 。 串扰 (Crosstalk)被认为是 引起链路 层间歇性 故障的一 个重要因 素 。 一般认为 由于信号 线上特定 的信号跳 变引起某 些信号变 化延迟 ,若恰好与 时钟抖动 等因素相 配合则容 易导致该 信号被保 存为一个 错误的值 ,从而引发 故障 。 一般片上 网络容错 设计研究 者在考虑 串扰引起 的间歇性 故障时 ,通常习惯 于从信号 跳变过程 本身去加 以考虑 , 通过编码 或其他方 式改变跳 变的图案 ( Pattern ) 来对其加 以避免[16]。 但实际上 串扰本身 是否会发 生其实需 要一定的 外部条件 ,同时其是 否会引起 故障实际 上更取决 于其是否 真正破坏 了数字集 成电路的 时序 。 要发生串 扰通常需 要信号线 线距和线 长均满足 一定的条 件 ,因而可能 发生串扰 的位置通 常在两个 路由节点 之间的互 联线上而 非其内部 连线 。 但从参考 文献[17]中明确给 出的路由 节点中各 级流水线 延迟的情 况来看 ,在链路传 输 (Link Transmission ,LT)即两个路 由节点之 间信号传 输阶段的 延迟要远 远小于其 他级流水 线 。 换言之 , 在常规拓 扑结果中 链路传输 本身并不 处于关键 路径 ( Critical Path ) 上 。 因而不管 是否出现 因为串扰 而导致信 号延迟的 情况 ,在链路传 输阶段的 时序余量 可以充分 保证被下 一级路由 节点接收 的信号处 于稳定状 态 。 但对于某 些面向特 定应用的 非规则片 上网络而 言[18],在网络中 存在一定 的长走线 ,因而可能 由于延迟 较大而容 易受到串 扰的影响 。 造成间歇 性故障的 其他因素 诸如电压 紧急 、 温度等同 样导致特 定位置的 信号出现 故障 , 通常这些 故障更多 出现在关 键路径上 。 在设计阶 段虽然设 计者无法 准确地预 知所有故 障发生的 位置与概 率 ,但却可以 通过对设 计方案进 行仿真与 分析确定 容易发生 故障的薄 弱环节 ,从而合理 地设置和 使用链路 层故障模 型 。
链路层永 久性故障 的发生概 率和空间 分布同样 有一定规 律可循 。 由于老化 引起的永 久性故障 与老化条 件有关 ,因而分析 并确定容 易引起老 化的环境 因素对确 定这类故 障发生的 概率和空 间分布是 有很大帮 助的 。 温度是引 起晶体管 老化的重 要原因 ,对于集成 电路的温 度分布可 以在设计 阶段即通 过一系列 的热仿真 得到 。 而由于工 艺误差或 制造过程 引起的永 久性故障 比较难以 精确建模 , 但可以通 过分析电 路模块的 规模简单 等效得到 , 在此不再 赘述 。
2容错设计方法合理性分析
片上网络 的容错设 计方法已 有相当数 量的论文 讨论 , 但这些论 文通常只 注重介绍 容错方法 本身 , 而对容错 设计方法 的使用前 提与使用 场景缺乏 深入分析 与讨论 。 这一现象 导致容错 设计方法 的合理性 存在较大 问题 ,因而本文 结合之前 对故障模 型的分析 对容错设 计方法的 合理性进 行必要的 分析 。
2.1基于离线测试的容错方法
基于离线 测试的容 错方法是 一种最基 本的容错 方法 ,其目的在 于提高芯 片的良品 率 。 较为典型 的基于离 线测试的 容错方法 即为片上 网络自适 应路由 。 大多数自 适应路由 都是在故 障状态已 知的前提 下 ,通过外部 所给出的 故障信息 按自适应 路由算法 调整信息 的传输路 径以避开 出现故障 的链路或 路由节点 。
按具备自 适应路由 能力的路 由节点对 故障信息 的知晓程 度不同 ,自适应路 由可分为 基于全局 信息的自 适应路由 算法 、基于局部 信息的自 适应路由 算法和基 于本地信 息的自适 应路由算 法三类 。 基于全局 信息的自 适应路由 算法需要 使用整个 网络的各 个资源的 状态信息 。 当然 ,一个路由 器需要确 切知晓网 络中所有 资源的状 态信息非常困难,代价非常高。 因而此类算法常采用空间迭代 , 使得每个 路由器获 得等价的 全局信息 , 如Q-Routing[19]。 基于局部 信息的自 适应路由 算法需要 路由节点 知晓临近节点的 信息 ,Fo N[20]以及FRR[21]是此类算 法的典型 代表 。 相比于全 局信息 ,获取局部 信息的代 价要小很 多 。 此类自适 应路由算 法也一直 在优化故 障信息传 输的开销 。 基于本地 信息的自 适应路由 算法则只 关注与路 由节点相 连的链路 或节点的 状态 ,Gradient算法[22]就是该类 算法的代 表 。 这三类算 法中虽然 基于全局 信息的自 适应路由 算法效果 最好 ,但由于其 信息传播 开销最大 而较少有 人研究 。 基于本地 信息的自 适应路由 算法性能 提升受到 较大限制 而导致优 化空间较 小 ,但在故障 概率较低 的情况下 已经足以 满足设计 需求 。 基于局部 信息的自 适应路由 算法是前 几年研究 的热点 ,其难点在 于平衡信 息传播开 销 、算法复杂 度等多方 面的因素 。
在传统的 自适应路 由方法的 研究论文 中几乎不 曾提及如 何检测并 确定某条 链路或路 由节点已 处于故障 状态 ,其通常认 为故障信 息已经确 认并作为 已知前提 开展研究 。 因而 ,离线测试 作为一种 基本的检 测手段可 以直接与 这些自适 应路由算 法相配合 作为提高 良品率的 方法 。 但需要注 意的是离 线测试只 能针对出 厂后的芯 片加以检 测 , 因而主要 检测由于 生产加工 问题而引 起故障 。 这类故障 的成因 、分布及其 行为在前 文已有分 析 。 在选择或 设计合理 的自适应 路由算法 时应对其 充分加以 考虑 ,避免使用 与之不相 符合的故 障模型或 错误估计 故障概率 。
2.2基于在线测试的容错方法
与基于离 线测试的 容错方法 不同 , 基于在线 测试的容 错方法往 往需要与 一定的在 线测试手 段相配合 。 首先通过 在线测试 确定故障 的位置或 发生的概 率 ,再采取相 应的方法 绕开或替 换故障单 元以达到 容错的目 的 。
基于编码 的在线检 测方法是 开销较小 、 实现也较 为方便的 一种 。 这种方法 通过检错 或纠错编 码检测传 输过程中 数据出现 的错误 。 但由于纠 错编码同 时也具备 错误数据 恢复的功 能 ,因而在大 多数研究 中把这类 方法归结 于容错方 法而非在 线检测方 法 。 但实际上 合理运用 纠错或检 错编码并 与测试数 据注入方 法配合是 可以达到 在线检测 效果的 ,在后文中 将对此做 一定的分 析 。 基于编码 的方法可 以很方便 地与重传 机制相配 合构成较 为高效的 混合纠错 重传机制 (hybrid FEC/ARQ )[23], 该方法对 于临时性 故障的容 错效果较 好 。 但使用混 合纠错重 传机制会 导致比较 大硬件开 销和传输 延迟 ,因而通常 被用于传 输层容错 。
按照特定 的规则向 网络注入 专门的测 试数据包 , 可以根据 包的到达 情况和接 受到的数 据对片上 网络的链 路和路由节点加以检测。 与基于编码的方法不同的是,由于发送 的数据包 内容是确 定的 ,可以在接 收端通过 比对检测 出链路中 多个数据 故障 。 由于其传 输路径可 以提前设 置 , 可以对路 由节点中 不同的传 播路径加 以测试[24]。 使用特定 的测试数 据包不但 可以判断 链路层故 障引起的 数据错误 ,还可以通 过数据包 能否正常 地通过特 定的传输 路径来判 断路由节 点中某些 控制逻辑 是否出错 。 当测试出 路由节点 的问题后 将其映射 为链路故 障模型 ,再配合自 适应路由 算法即可 以实现网 络层容错 设计 。 采用专门 测试数据 包的另外 一个优点 在于通过 统计已到 达数据包 的错误概 率 ,在明确数 据包传输 路径的基 础上可以 求解出不 同链路或 传输路径 上包的错 误概率 ,进而对于 诊断间歇 性故障有 极大的好 处 。
在线测试 的另外一 种方式是 采用在线 的内建自 测试(BIST)电路 。 这类在线 测试方法 需要针对 片上网络 设计专门 的电路测 试电路[25],并用适当 的方法将 被测电路 与其他的 部分电路 隔离 。 采用内建 自测试电 路可以在 更细粒度 的层面检 测故障 ,有利于采 用更细粒 度的错误 恢复机制 。 但内建自 测试电路 测试的规 模与其测 试粒度有 关 ,测试粒度 越细则电 路复杂度 和规模越 大 。 近年来将 内建自测 试电路用 于片上网 络容错设 计的研究 者主要把 精力放在 如何平衡 在线检测 性能 、粒度和代 价 。
2.3基于纠错和硬件冗余的容错方法
纠错与硬 件冗余从 本质上来 说属于同 一类方法 。 纠错依靠 传输更多 的信息使 得数据错 误可以被 修复 ,硬件冗余 则通过在 网络中增 加更多的 硬件资源 以使当部 分硬件出 现故障时 片上网络 仍然可以 正常运行 。 在传输更 多信息时 必然涉及 到使用更 多的硬件 资源如连 线或存储 单元来 ,因而也是 一种意义 上硬件冗 余 。 严格意义 上说 ,片上网络 自适应路 由算法就 是利用了 片上网络 互联资源 的硬件冗 余来达到 容错目的 。
纠错的效 果与纠错 编码的复 杂度以及 传输过程 中出现错 误的概率 有关 。 在端到端 传输的错 误概率显 然大于在 两个路由 节点之间 传输的错 误概率 。 因而在两 个路由节 点之间才 有纠错编 码的效果 显然好于 端到端传 输 , 但后者的 面积 、延迟 、功耗等开 销要远远 小于前者[26]。 各种开销 的增加实 际上会导 致片上网 络的整体 性能下降 , 在很多时 候使得容 错设计失 去了原本 的意义 。 换言之 , 如果主动 降低片上 网络的性 能如运行 速度等 ,往往可以 使得间歇 性故障概 率下降而 在使用端 到端纠错 达到同样 的效果 。 这方面的 研究目前 尚缺乏比 较全面和 深入的分 析 。
最普通的 硬件冗余 容错方法 是三模冗 余 (Triple Modular Redundancy , TMR )[27], 即通过将 同样的硬 件资源复 制为3份同时运 算 ,通过投票 选取最可 能的结果 。 三模冗余 被广泛的 应用各种 高可靠要 求的硬件 设备中 。 但三模冗 余的劣势 也非常明 显 ,由于其三 倍于正常 硬件开销 而带来的 极大硬件 资源和功 耗增加 。 同时由于 三模冗余 导致硬件 开销增大 ,变相地也 使得错误 发生的概 率有很大 增加 。 因此 ,一种采用 硬件资源 相对精简 的模块作 为三模冗 余替代方 案的研究 思路也正 在兴起[28]。 这种方法 一方面减 小了各种 开销 ,另一方面 可以使得 系统的可 靠性进一 步提升 。
就纠错与 硬件冗余 的容错方 法而言 , 其面临的 最重要的 问题在于 设计本身 是否存在 过度设计 (Over Design) 而导致不 必要的开 销甚至影 响片上网 络可靠性 最大限度 地提升 。 这一方面 的研究由 于需要对 片上网络 从物理效 应 、故障概率 到容错设 计方法做 比较完整 的建模与 深入分析 而一直未 取得较大 突破 。
2.4其他容错方法
除上述多 种容错设 计方法外 , 还有一些 其他的容 错设计方 法可以被 应用到片 上网络的 容错设计 中 。 目前这些 方法已经 在其他电 路设计领 域被采用 了 ,但片上网 络领域研 究还相对 较少 。 基于感知 的容错方 法和基于 设计优化 的容错方 法就是比 较重要的 两种 。
基于感知 的设计方 法其实质 在于通过 测量环境 参数 、 分析电路 的工作状 态 , 进而判断 电路是否 在当前环 境条件下 工作在不 稳定的临 界状态 。 当判明当 前状态后 ,通过调整 电路的工 作状态使 得错误率 降低到可 以被纠正 的程度 。 目前这种 方法已经 被应用于 高能效处 理器可靠 性设计中[29]。 片上网络 领域还较 少见到采 用类似的 设计方法 。
基于设计 优化的容 错方法是 指在设计 优化时不 但考虑优 化系统性 能 、 资源或功 耗开销等 , 同时可以 把可靠性 问题加以 优化 。 例如可以 通过优化 专用片上 网络的拓 扑结构来 减少或避 免串扰引 起的故障 。 这一容错 设计方法 已经在专 用集成电 路中逐步 被采用 ,但同样在 片上网络 研究领域 使用还相 对较少 。
3结语