1、魏贇第1页,共280页。l容错和可靠性l容错技术的发展概况l容错技术的主要内容l容错技术应用第2页,共280页。l故障、失效和错误的概念l可靠性的概念l容错的概念l可靠性和容错的关系第3页,共280页。l失效(failure)是指硬件物理特性异变,或软件不能完成规定功能的能力。l故障(fault)是指硬件或软件的错误状态,是失效在逻辑上的等效。一个故障可以用种类、值、影响范围和发生时间来描述。l错误(error)是指程序或数据结构中的故障表现形式,是故障和失效所造成的后果。容错设计的软件可以有某些规定数目的故障但不导致失效,但对无容错的软件而言,故障即失效。第4页,共280页。l若按逻辑性来分
2、逻辑故障:造成逻辑值发生变化的故障非逻辑故障:造成象时钟(clock)或电源出错等错误的故障l按时间划分:永久性故障:调用诊断程序进行故障定位,然后采取纠错措施 间隔性故障:可以通过更换硬件或软件等途径来达到修复的目的 偶然性故障:只能靠改善环境条件等努力来减少这类故障 第5页,共280页。第6页,共280页。l概念l实现系统可靠性的方法l系统可靠性的指标第7页,共280页。l可靠性的含义广义:一切旨在避免、减少、处理、度量软件/硬件故障(错误、缺陷、失效)的分析、设计、测试等方法、技术和实践活动。狭义:指软件/硬件无效运行的定量度量。l可靠度:在规定的运行环境中和规定的时间内软件无失效运行的
3、机会。第8页,共280页。l排错l容错第9页,共280页。避免故障,通过对组成系统的部件进行严格的筛选、对系统进行严格的测试、对系统进行屏蔽以减少外界的干扰等方法来提高系统的可靠性。第10页,共280页。l即使采用了排错技术,一个计算机系统还是迟早会发生故障的。因此在设计计算机系统时应考虑一旦发生故障能自动检测出故障并使系统自动恢复正常运行。这样设计出来的计算机系统在发生故障后仍能正确运行。l容错技术是从系统结构方面来提高计算机系统的可靠性l容错技术与排错技术并不是相互对立的,它们可以相互补充,构成高可信的计算机系统第11页,共280页。l可靠性l可维性l可用性第12页,共280页。l计算机机
4、的可靠性指:计算机在规定的条件和规定的时间内完成规定的功能的概率l规定的条件:环境条件,使用条件,维修条件,操作技术l失效:产品在规定的条件下和规定的时间内丧失了规定的功能。l失效率:指计算机在某一瞬间元件失效数与元件总数的比率。第13页,共280页。l可维性(Serviceability)是指在规定的时间内,按照规定的程序和方法进行维修时,保持或恢复到能完成规定的功能的能力l通常指从判定故障到排除故障所需要的时间,包括故障诊断、故障定位、系统校正和恢复等时间。l可保持性(Maintainability)是指系统在给定的时间内可隔离故障或修复的概率。它表征了系统可以正常运行的效率。第14页,共
5、280页。可用性(Availability)称有效率或利用率,是可维修部件在某时间具有维持规定功能的能力,即计算机系统的利用效率,也是系统在执行任务的任意时刻能正常工作的概率。第15页,共280页。容错(Fault-tolerance):容忍故障,考虑故障一旦发生时能够自动检测出来并使系统能够自动恢复正常运行。当出现某些指定的硬件故障或软件错误时,系统仍能执行规定的一组程序,或者说程序不会因系统中的故障而中止或被修改,并且执行结果也不包含系统中故障所引起的差错。第16页,共280页。l容错计算机系统:在发生故障或存在软件错误的情况下仍能继续正确完成指定任务的计算机系统。l设计与分析容错计算机系
6、统的各种技术称为容错技术l容错技术从系统结构出发来提高系统的可靠性,与排错技术相互补充,构成高可信度的系统第17页,共280页。(1)不希望事件的检测。不希望事件是指失效、故障、差错等等。为容忍系统中的不希望事件,应首先对其进行检测。(2)损坏估价。由于一个故障的出现和它的失效结果之间可能存在延迟,故障可能已经传播到该系统的其他地方,导致故障的扩大。因此,在作出一个被检测的故障有关的决定之前,有必要判定系统已被破坏的程度,这依赖于系统设计者的策略和已有的探测技术。第18页,共280页。(3)不希望事件的恢复。在不希望事件检测和损坏估价之后,应采用不希望事件恢复技术,把目前的错误系统状态转换成一
7、个正确的系统状态。(4)不希望事件处理和继续服务。确保已被恢复的不希望事件效应不会立即再现,以使系统继续提供规定的服务。第19页,共280页。l故障限制:当故障出现时,希望限制其影响范围。故障限制是把故障效应的传播限制到一个区域内,从而防止污染其他区域。l故障检测:大多数失效最终导致产生逻辑故障。有许多方法可用来检测逻辑故障,如奇偶校验、一致性校验都可用来检测故障。故障检测技术有两个主要的类别,即脱机检测和联机检测,在脱机检测情况下,进行测试时设备不能进行有用的工作;联机检测提供了实时检测能力,因为联机检测与有用的工作同时执行。联机检测技术包括奇偶校验和二模冗余校验。l故障屏蔽:故障屏蔽技术把
8、失效效应掩盖了起来,从某种意义上说,是冗余信息战胜了错误信息,多数表决冗余设计就是故障屏蔽的一个例子。l重试:在许多场合,对一个操作的第二次试验可能是成功的,对不引起物理破坏的瞬间故障尤其是这样。l诊断 如果故障检测技术没有提供有关故障位置和/或性质的信息,那么就需要一个诊断。第20页,共280页。l重组:当检测出一个故障并判明是一个永久性故障时,这时重组系统的器件以便替代失效的器件或把失效的器件与系统的其他部分隔离开来,也可使用冗余系统,系统能力不降低。l恢复:检测和重组(若必要的话)之后,必须消除错误效应。通常,系统会回到故障检测前处理过程的某一点,并从这一点重新开始操作。这种恢复形式(一
9、般叫卷回)通常需要后备文件、校验点和应用记录方法。l重启动:如果一个错误破坏的信息太多,或者系统没有设计恢复功能,那么恢复功能也许就不可能。仅当系统未受任何破坏时,才能进行“热”重启(从故障检测点恢复所有操作的)。“温”重启指仅有某些过程可以毫无损失的重新启动,“冷”重启相当于系统需要完全重新加载。l修复:把诊断为故障的器件换下来,与故障检测一样,修复也可以是联机进行的或者脱机进行的。l重构:对元件进行物理替换之后,把修复的模块重新加入到该系统中去。对联机修复来说,实现重构不中断系统的工作。第21页,共280页。l第一代计算机(1946-1957)l第二代计算机(1957-1964)l第三代计
10、算机(1964-1970)l第四代计算机(1970-)l现在第22页,共280页。l元件:电子管、继电器及延迟线存储器l问题:元件的失效率相当高,并易受瞬时故障的影响l措施:特别设置的硬件故障检测和人工恢复第23页,共280页。l1956,SAPO,捷克,三个CPU同时工作,对运算结果进行表决,存储器采用奇偶校验,具有单条指令重复执行的功能lSAGE,用于防空系统,采用双机比较以检测故障,并配合以恢复技术第24页,共280页。l元件:晶体管及磁芯存储器l问题:失效率比第一代计算机元件大为降低l措施:避错技术占统治地位,对故障一般采用诊断程序进行脱机检测第25页,共280页。l元件:集成电路l问
11、题:元件的失效率继续降低,但计算机应用范围扩大,对计算机系统的可信性要求更高l措施:容错技术重新提出,并得到了较快的发展,并出现了许多 容错计算机第26页,共280页。l1964 土星V号运载火箭导航计算机研制成功,该机采用三模冗余及奇偶校验来实现容错l1969,喷射推进实验室的STAR计算机,其处理机采用三重表决加备份的混合冗余方式,并用算术检错码及双机比较检测故障。l1965,贝尔实验室研制成功1号ESS处理机,是用于 交换的计算机系统,采用了双机比较技术,是专用的硬件及软件进行故障的检测、定位及识别。第27页,共280页。l元件:大规模和超大规模集成电路l问题:硬件可靠性大大提高而价格却
12、大幅度降低,使采用各种容错技术在经济上更易接受。l需求:容错技术应用范围扩展于 事务处理及各种实时控制系统,甚至许多通用计算机系统也采用了容错技术第28页,共280页。l1975,贝尔实现室的3A号ESS处理l1975,TANDEM 16容错事务处理系统l1976,AMDAHL 470V/6容错通用计算机l1978,容错空间计算机FTSCl1979,IBM推出容错的4300通用计算机系列l1980,容错多处理机FTMP及软件实现的容错计算机SIFT研制成功第29页,共280页。l出现了商用容错计算机市场l分布式容错计算机系统的出现l容错的VLSI技术l人工智能在容错技术上的应用计算机故障诊断专
13、家系统第30页,共280页。l1952,冯诺依曼作了一系列关于用重复逻辑模块改善系统可靠性的报告l1956,他发表论文概率逻辑及用不可靠元件设计可靠的结构l1971年以来,IEEE计算机学会容错技术委员会每年召开一次国际容错计算学术会议l1987年中国计算机学会成为了容错计算专业委员会第31页,共280页。l故障检测与诊断技术l故障屏蔽技术l动态冗余技术l软件容错技术l信息保护技术第32页,共280页。l容错技术的主要组成部分,又是微电子技术的支撑技术l故障检测(Fault Detection):判断系统是否存在故障的过程l故障定位(Fault Location):判断系统在哪里发生故障的过程
14、l故障测试(Fault Testing):又称故障诊断(Fault Diagnosis),故障检测和故障定位,主要包括:测试集生成技术,功能测试技术,系统诊断技术第33页,共280页。l故障检测的作用是确认系统是否发生了故障,指示故障的状态,即查找故障源和故障性质。一般来说,故障检测只能找到错误点(错误单元),不能准确找到故障点。l故障诊断的作用是给出故障定位。l基于检错纠错码的编码技术。在数据的传输、存储、处理过程中,根据信息位和校验位之间的相关性进行检查,判定信息是否出错、错在哪里,并进行纠正。常用的检错码编码技术有奇偶校验码、循环码、海明码等。l其他故障检测与诊断技术第34页,共280页
15、。l故障屏蔽技术是防止系统中的故障在该系统的信息结构中产生差错的各种措施的总称,其实质是在故障效应达到模块的输出以前,利用冗余资源将故障影响掩盖起来,达到容错目的。l特点:不改变系统的结构,即系统部件之间的逻辑关系相互固定,又称静态冗余技术第35页,共280页。l元件级故障屏蔽技术l逻辑级故障屏蔽技术主要用于设计一些高可靠性的容错专用集成电路芯片和不宜放在功能模块一级上进行容错设计的关键硬核l模块级故障屏蔽技术l系统级故障屏蔽技术由两个以上的相同系统合成一个系统,冗余系统间通过相互校验来保持正常运行。第36页,共280页。l硬件冗余:在常规设计的硬件之外附加备份硬件,包括静态冗余、动态冗余l时
16、间冗余:重复地执行指令或一段程序而附加额外的时间l信息冗余:增加信息的多余度,使其具有检错和纠错能力l软件冗余:用于测试、检错的外加程序第37页,共280页。l软件容错是指在出现有限数目的软件故障的情况下,系统仍可提供连续正确执行的内在能力。其目的是屏蔽软件故障,恢复因出故障而影响的运行进程。l软件容错技术主要包括N版本程序设计和恢复块技术第38页,共280页。l信息保护技术,是指为了防止信息被不正当地存取或破坏而采取的措施。l基本的信息保护技术分为以下四种:编码化与密码化、资格检查、内存保护、外存保护。第39页,共280页。l容错技术的应用是网络时代电子商务的客观需求 l软件容错技术将有较大
17、进展l硬件容错、操作系统容错相结合的容错设计方法将备受重视 lVLSI的容错设计技术将发挥巨大作用 l系统容错设计的应用目标明确 第40页,共280页。l容错技术应用向PC发展 l容错技术向智能化发展 l容错技术应用和应用服务技术相结合 l容错技术将走向开放化、标准化 第41页,共280页。2.1 联机检测和脱机检测2.2 逻辑网络的故障安全与自校验特性2.3 自校验网络的基本结构第42页,共280页。l联机检测与诊断:在系统运行期间实现自我检测与诊断的过程,也叫自检测与自诊断,是提高系统可靠性的重要环节。l脱机检测与诊断:在系统非运行期间进行检测与诊断,是提高系统可用度、可维性的重要环节。第
18、43页,共280页。l在系统中投入一定的冗余资源(指超过系统额定功能所需的资源),使系统在运行中不仅能输出功能所要求的信息,而且能输出一些额外的信息。l实质是可靠性编码技术在系统设计中的应用,是一种以硬件冗余为主的检测与诊断技术第44页,共280页。l一个自检测的系统,其所有可能的输出值的集合为U(输出空间),由S和U-S两部分组成lS:系统的输出码,系统无故障时的输出lU-S:系统出现故障时候的输出,若能指示系统是否发生故障,则称之为检错码;若能指示系统中哪个部件发生的故障,则称之为诊错码第45页,共280页。l应用软件诊断程序,先优化生成并输入一组测试向量给系统,然后观测并分析系统的测试响
19、应,以确定系统是否发生故障或哪个部件发生的故障。第46页,共280页。1、故障安全特性2、自校验特性第47页,共280页。l一个数字逻辑网络,对给定故障集F,如果在任何有效输入码激励下,都不会因为故障而输出错误的有效输出码,则称它对故障集F是故障安全(Fault-Secure,FSE)的。l若该网络在任意输入码激励下,对给定故障集F都不会输出错误的有效输出码,则称它对故障集F是强故障安全的。第48页,共280页。l输入是正确的,则输出为正确的有效码或无效码,而不会输出错误的有效码l这样的系统不会因为故障存在而造成错误的有效输出,称之为故障安全的系统第49页,共280页。l若输出是无效码,则该系
20、统必有故障存在l若输出的是有效码,则不能断定该系统是否有故障,但可断定它的输出是正确的l系统可能存在不可测故障第50页,共280页。l如果一个数字逻辑网络对于给定故障集F内的每一个故障,至少存在一个有效的输入码能使它的输出产生一个无效输出码字,则称该网络对于故障集F是可自校验(Self-Testing,ST)的。l凡可自校验的系统,可从观测输出码字是否为有效码字来判别其是否有故障,而且一定有一个校验码就包含在有效的输出码字集合中。第51页,共280页。l所有故障的集合:可自校验的故障集Ft,安全故障集Fs;l所有输入向量的集合:正常输入集N,故障安全输入集I;l所有输出向量的集合:输出码空间S
21、l表示沿未引起错误的故障或表示系统无故障,Z(Xi,)表示系统无故障时的输出lZ(Xi,fi)表示在Xi输入时,系统对故障fi的输出第52页,共280页。所有故障FtFsf1f2f3所有输入向量NX1IX2X3所有输出向量SZ(X1,f1)Z(X1,f3)Z(X1,f2)Z(X1,)Z(X2,)Z(X2,f2)Z(X2,f3)Z(X2,f1)Z(X3,f2)Z(X3,)自校验性故障安全性第53页,共280页。l自校验系统的性质由系统结构和运行环境所决定。l给定的N(由环境决定),Ft由N能检测到的所有故障组成。相反,I不是由环境决定的(N的子集),而是由Fs决定。lFs是人为选择的一个非空故障
22、集。第54页,共280页。l完全自校验系统:如果一个系统对正常输入集N和故障集Ft是自校验的,并且对于N和故障集Fs是故障安全的,则称该系统为完全自校验系统(TSC:Totally Self-Checking)。l部分自校验系统:如果一个系统对于正常输入集N和故障集Ft是自校验的,并且对于N的一个非空真子集I和故障集Fs是故障安全的,则称该系统为部分自校验系统(PSC,Partially Self-Checking)。l仅自校验系统:如果一个系统对正常输入集N和故障集Ft是自校验的,但对于N的任何非空子集和故障集Fs都不具有故障安全性,则称该系统为仅自校验系统。第55页,共280页。l自校验网
23、络:无需施加特定的测试输入码来判定是否存在故障,而是在正常工作的过程中,由一个称为校验器的电路通过监视自校验功能模块的输出状态而自动指示有无错误。第56页,共280页。自校验功能模块输入XN检测器/校正器检错/纠错编码输出Z(X,)SZ(X,f )S错误指示第57页,共280页。l检测器:当出现无效码时,指示错误状态,可构成自检测网络。l校正器:当出现无效码时,指示出错位置,并予以纠正,可构成自诊断网络或故障屏蔽网络。第58页,共280页。l概述l元件级故障屏蔽技术l逻辑级故障屏蔽技术l模块级故障屏蔽技术l系统级故障屏蔽技术第59页,共280页。l故障屏蔽技术(Fault Masking Te
24、chnology)l防止系统中的故障在该系统的信息结构中产生差错的各种措施的总称,其实质是在故障效应达到模块的输出以前,利用冗余资源将故障影响掩盖起来,达到容错目的。第60页,共280页。l二倍冗余l四倍冗余l桥接冗余第61页,共280页。IO单个元件IO并联结构I串联结构OCCCCC第62页,共280页。设三级管发生开路故障的概率为q0,发生短路故障的概率为qs,正常工作的概率为p:对于单个元件:p=1-q0 qs对于并联结构:p=1-q02-2 qs+qs2发生开路故障的概率为:q02发生短路故障的概率为:1-(1-qs)2对于串联结构:p=1-2 q0+q02-qs2发生开路故障的概率为
25、:1-(1-q0)2发生短路故障的概率为:qs2第63页,共280页。IO并串联结构I串并联结构OCCCCCCCC第64页,共280页。设三级管发生开路故障的概率为q0,发生短路故障的概率为qs,正常工作的概率为p:对于并串联结构:p=1-2q02+q04-4qs2+4qs3-qs4发生开路故障的概率为:1-(1-q0 2)2发生短路故障的概率为:1-(1-qs)2 2对于串并联结构:p=1-4q02+4q03-q04-2 qs2+qs4发生开路故障的概率为:1-(1-q0)2 2发生短路故障的概率为:1-(1-qs 2)2第65页,共280页。l任一晶体管开路或短路l不是同一支路的两个三极管
26、短路(对串并联)或是不是同一回路的两个三极管开路(对并串联),或者每一支路都有一个三极管短路(对串并联)或每一回路都有一个三极管开路(对并串联)第66页,共280页。l可以用在元件级l构成独立自足冗余,即不必增添逻辑线路来检测故障与恢复信息l能满足实时与连续可用条件第67页,共280页。l功耗大l对元件适应条件要求较高l昂贵l结构不能变,无灵活性第68页,共280页。l主要用于VLSI的设计中l主要用于设计一些高可靠性的容错专用集成电路芯片和不宜放在功能模块一级上进行容错设计的关键硬核l多采用四倍冗余方案第69页,共280页。子部件1子部件k子部件k+1子部件n1P1P1P1PK个功能输出N-
27、K个校验输出输入1m第70页,共280页。l是以N倍冗余码为基础,通为构成N模冗余(NMR,N-Modular Redundancy)系统来实现故障屏蔽第71页,共280页。模块1模块2模块n系统输出差错指示输入校正器第72页,共280页。l采用多个计算机系统来实现系统的功能。也可称为多处理机或多计算机系统l常用的结构有:均分负载系统结构主备用系统结构双机协同系统结构紧耦合多处理机系统结构分布式系统结构网络结构第73页,共280页。l硬件冗余l软件冗余l数据冗余l动态冗余技术第74页,共280页。l在系统结构上通过增加冗余资源的方法来掩盖故障造成的影响,使得即使出错或发生故障,系统的功能仍不受
28、影响,仍能够正常执行预定任务的技术。l分为硬件冗余、软件冗余与数据冗余l从系统功能上讲,三者都是增加“多余的设备”(硬件、软件或数据)为代价的第75页,共280页。l静态冗余l动态冗余l主要方法第76页,共280页。l利用逻辑重叠技术有效地掩蔽硬件故障,又称掩蔽冗余。典型代表是N取r系统(三取二的冗余)l原理:采用并联结构,从输入端输入相同的信息,并执行同样的程序,完成同样的任务,得到的结果送入表决器,以多数的结果作为最后的输出。第77页,共280页。第78页,共280页。l优点:系统可不进行故障检测、定位和系统的恢复工作,省掉了大量的软件工作,简单易行l缺点:增加了硬件设备,提高了系统的费用
29、第79页,共280页。采用辅助系统作为主系统的热备份,正常状态下主系统工作,并对主系统进行故障检测和定位,一旦诊断出故障发生的位置,系统能进行自动修复。第80页,共280页。l可采用多级硬件冗余方法,通过多种设备的冗余,提高系统的可靠性。l并联冗余,备份冗余和表决系统l冷备份,热备份第81页,共280页。l优点:不可间断系统采用了计算机局域网络或分布式计算机系统,各子系统无需或少许增加硬件设备,就可以起到互为冗余的作用。即不增加系统的体积、重量、功能和成功,设备充分共享,提高了利用率,弱化了故障l缺点:虽然不增加硬件设备却增加了大量软件工作,系统研制的难度、周期和费用增加了;用户的应用程序在系
30、统中运行,经常被诊断程序中断,遇到故障时自动定位和恢复过程较慢;不适合实时性很强的系统第82页,共280页。l指针对软件本身的故障,采用何种方法去防止由于软件的错误而导致的系统失效。l分为动态冗余和静态冗余第83页,共280页。l程序回卷(Program Rollback)l多道程序表决法l模块恢复法第84页,共280页。l在执行的程序中设置若干测试点,在每个测试点上检查输出结果。当测试程序检测出错误时,就认为正在执行的程序是一个错误的系统中运行的,这段程序要被重新执行,即程序的卷回。第85页,共280页。l优点:不增加硬件设备,软件也不复杂l缺点:系统的反映时间和精度要受损失,对偶发性错误有
31、效,对固定的故障无能为力第86页,共280页。l对同一个问题按不同的算法编多个程序,对执行的结果进行表决。l串行执行:费时,过多地占用主存空间,不符合实时性和实用性的要求l并行执行:需要硬件支持第87页,共280页。l程序按照模块执行,每执行完一块,接着执行一个测试程序,对刚执行的程序进行测试,通过后再执行下一个模块,通不过则重新执行l无法适应实时系统的要求第88页,共280页。l又称软件存储冗余,是把关键的系统程序和应用程序在系统中多点存储在主存或高速辅助存储器中。l在正常状态下,只执行一处或几处的程序,其它做备份,一旦程序遭破坏,则快速调入备用程序,使系统仍能正常工作。l系统程序和应用程序
32、可采取分布式存储,或集中式存储方式,或两者结合第89页,共280页。l软件的拷贝不能作为软件的备份,这与硬件容错显然不同。l软件的替换是暂时性的,被替换的软件部件仍可以重新使用,硬件部件则需重新修复才可使用。l软件容错在实现技术上比硬件容错要复杂得多第90页,共280页。l主要应用于数据库系统中。l若某种故障使数据库中当前状态不正确或可疑,就必须把数据库恢复到某一正确的状态l根据数据库存储的位置和方式,分为集中式的数据冗余和分布式的数据冗余第91页,共280页。l概述l重组l可重组的动态N模冗余技术l恢复l多处理机系统的动态冗余结构与容错处理l模拟部件的冗余容错l动态冗余设计的综合考虑第92页
33、,共280页。关键技术:l故障检测与诊断l选择系统冗余结构,实现静态冗余设计l重组:故障处理技术l恢复第93页,共280页。l定义:综合运用以上几种技术来达到更强容错能力的一种综合性容错技术l动态:体现在作为系统正常资源的冗余模块数随着检测到的故障数多少而变化l基本步骤:故障检测 故障处理(重组)系统恢复第94页,共280页。l有更大的隔离灾难性故障的能力l直到所有的后备单元都耗尽了,系统才失效l 利用程序卷回等手段可消除由瞬时故障引起的错误l易于调节后备单元的数量与类型l可利用后备单元的不加电元件的潜在低失效率特点l避免了静态冗余的电路图相关、故障相依问题l可用标准诊断程序检查后备单元l可增
34、加系统平均寿命第95页,共280页。l重组的概念l后缓备份重组l缓慢降低重组第96页,共280页。l重组的主要功能是防止失效影响到系统的正常工作。当检测出系统有故障并实现了故障定位后,系统便通过更换或切除故障模块的方法来重新组合,达到排除或隔离故障的目的。l重组的基础是结构的冗余和基于冗余结构的故障检测与诊断。实际中,往往在检出故障后通过中断来触发重组。第97页,共280页。l后援备份重组l缓慢降级重组第98页,共280页。l后援备份:后援备份:系统配置一组平时不工作的模块作为工作模块组中失效模块的备份。在故障发生后,通过故障检测触发后备模块取代失效模块l两种备份方式两种备份方式“冷冷”备份:
35、备份:平时备份模块不通电“热热”备份:备份:平时备份模块通电,处于工作状态第99页,共280页。l缓慢降级是指当系统的工作模块出现故障模块后,进行无替换的切换,每检出一个切除一个,从而使系统的功能和性能逐步降级l两种设计指导思想1、按要求的性能设计系统资源,当出现失效模块后系统降级继续运行,直至失效累积到系统无法正常工作。主要用于一般用途的计算机2、系统最初设计成以超额资源、超级性能运行,当系统 出现失效时,仍能维持一个基本要求的性能等级。主要用于许多关键应用应用的实时控制处理器中第100页,共280页。l待命储备式N模冗余l可重组二模冗余第101页,共280页。l单模替换结构l成对替换结构第
36、102页,共280页。lN个相同的模块中,只有一个为主用模块处理于运行状态,用以产生系统输出,其余模块都作为备份片于待命状态。l自检测系统,也可用软件周期性或定期性地进行故障检测第103页,共280页。N个模块中总有两个组成主用模块对,它们并行工作并进行比较;一旦比较结果不致便启动重组,将该对模块切除,而换上另外两个备用模块作为主模块对。第104页,共280页。l在静态二模冗余的基础上增加故障检测和模块切换装置而构成的l有两种常见的冗余模式:主备用冗余模式和二模协同冗余模式第105页,共280页。l实质上是待命储备式N模冗余系统的一个特例l两个相同的模块通过一定的接口电路(包括检测和切换装置)
37、连接起来,一个主用,一个备用。第106页,共280页。l二模协同:指两个模块同时执行相同的指令,处理相同的数据,完成相同的任务。l如果二模均正常,则任取其中一个的输出作为系统输出;如果一个失效,则它的输出封锁,而将正常的输出作为系统输出。第107页,共280页。l自诊断方法:联机模块运行自诊断程序l每个模块设置自校验器l利用监视定时器判别故障模块,触发重组l利用外部仲裁控制配置:强迫二模块运行同一“已知结果的测试程序”第108页,共280页。l微周期级同步l总线周期级同步l任务级同步第109页,共280页。l恢复的概念l恢复技术的方法 向前错误恢复、向后错误恢复(3)常用恢复算法(4)计算机系
38、统基本部分的恢复技术(5)文件恢复技术(6)通信系统的恢复技术第110页,共280页。恢复是系统利用重组处理了永久故障等不可恢复硬件故障后,实现动态冗余和容错的必不可少的环节。其作用是消除错误造成的影响,使系统自动恢复到正常工作状态重新运行下去。第111页,共280页。l向前错误恢复l向后错误恢复第112页,共280页。l概念:概念:根据系统的故障特征,校正出错的系统状态,使系统进程正确运行下去。这种恢复技术不需要保存系统出错前的状态和信息,不需要卷回重运行。l优点:优点:系统开销小,无需保存恢复点信息的时间和空间;可避免多米诺效应。多米诺效应:多米诺效应:伴随“卷回”操作而产生的一种连锁倒退
39、、直至退回到任务起点的反应现象。在多进程计算机系统中极易产生多米诺现象。第113页,共280页。l缺点:缺点:(1)恢复算法复杂,必须基于对故障特征和错误性质的深刻而全面的认识。(2)不能采取措施来消除错误或掩盖故障。第114页,共280页。向后错误恢复技术是把出错的系统进程从当前错误状态卷回到以前的某一正确状态,然后从这一状态开始继续系统的运行。这种恢复方式是以事先建立恢复点为基础的第115页,共280页。(1)保证为每个任务或进程的程序模块设置一 组恢复点,并将系统正常运行到各恢复点 时的状态和必要信息予以保存,以便程序 一旦返回到该点时可以纠正故障影响。(2)避免因多模块间通信而产生的多
40、米诺效应,关键在于选择恢复点。(3)尽量保持各模块原有的并行性。第116页,共280页。(4)使各模块保持独立性,并使恢复过程对设 计者具有透明性。(5)避免因恢复造成多模块的死锁。(6)使恢复操作尽量少增加系统开销。(7)具有完整性和一致性第117页,共280页。l静态规划法l无规划法l动态规划法第118页,共280页。l优点:实现简单、恢复可靠l缺点:系统的时间、空间开销大,易引起多米诺效应第119页,共280页。l程序卷回l记日志l恢复块l原子操作l预设陷阱l纠错编码l多数表决第120页,共280页。l向后错误恢复方法l适用于瞬时错误和永久错误检测l系统在运行过程中一经发现错误,便进行程
41、序卷回,返回到起始点或离出错点最近的预设恢复点重试。微指令重试替换数据重试第121页,共280页。l恢复点的数目和位置选择问题l各恢复点需要保存的状态和信息量的确定问题l恢复点的功能设置问题l程序卷回级别的选择问题第122页,共280页。l同步功能l存档功能l存档内容的更新功能l报告功能第123页,共280页。l向后错误恢复方法l在进程开始时,保存初始数据的副本作为后备数据,并在进程执行中,记下影响这些数据的全部业务。第124页,共280页。l向后恢复方法,以错误检测、向后冗余和多份软件模块为基础l由恢复点、替换算法和验收测试三部分组成恢复点:保存在恢复块内会发生变化的全局变量替换算法:一个或
42、多个不同版本、但功能相同的备用程序模块验收测试:一组逻辑表达式模块,设置在每个替换算法的出口,用于检测计算结果的正确性、合理性第125页,共280页。l满足要求测试:算法执行后完成必定满足要求l合理性测试l审计测试l运行时间测试第126页,共280页。l特性:一个原子操作可以只属于一个进程,也可以由多个进程共享原子操作是可嵌套的l一种错误检测的方法,还是一种确定一个故障的可能结果的界限的方法l可用于向前和向后错误恢复第127页,共280页。l向前错误恢复方法l根据系统可能出现的异常情况,设计一组处理程序,建立一个异常处理程序库,当系统因故障而出现某种预料中的异常情况时,便从库中调用相应的异常处
43、理程序进行处理,实现错误恢复第128页,共280页。l通过在信息位的基础上增加校验位,可以准确地检测出传输、存储的信息中出现的差错和差错的位置,并能以正确的值校正差错值,使信息恢复到原来正确状态。l可用于故障诊断、屏蔽,差错恢复第129页,共280页。l向前错误恢复,可以屏蔽错误,并诊断出错位置l在多处理机系统中,多个处理机独立运行同一任务,并同步完成相同的功能,按“择多原则”得出正确的结果值第130页,共280页。l中央处理机的故障排除与恢复l存储器故障排除与恢复l外设的故障排除与恢复第131页,共280页。常见故障:l内部硬件故障:由模块或装置内的各种硬件校验和接口校验验出l程序错误:可作
44、为程序执行时的软件异常状态和例外状态由硬件检验机构检出第132页,共280页。CPU1硬件故障硬件重试成功保存现场运行信息多处理机?CPU1永久故障停机,并保存现场运行信息中断CPUi(i=1)OS的功能恢复例行程序应用软件恢复例行程序有关处理任务异常终结继续工作能恢复?CPU执行OSNNYNYYN第133页,共280页。l硬件检测机构一旦检出程序异常,立即发出程序错误中断(如非法操作码中断、指令使用错误中断等)报告给操作系统l对于操作系统中发生的程序错误,通常采用“预设陷阱”恢复算法,针对不同的程序错误中断,启动不同的“异常处理”程序。l对于用户处理程序中发生的程序错误恢复块技术预设陷阱恢复
45、方法第134页,共280页。l检测:奇偶校验电路、静态测试、动态测试等软件检测手法、海明码l一旦检测出有错,检测机构向CPU发出中断,启动运行存储器排除故障与恢复的中断处理程序l处理方法:先了解发生误操作的存储器地址或芯片等故障信息,然后重新从外部存储器调入出错的程序,从断点处开始重试,看能否恢复;若重试不成功,进行硬件重组和重组后的恢复l重新调入执行的程序,可重入(Reenterable)且可再生(Refreshable)的程序第135页,共280页。外设:与CPU控制输入/输出设备工作相关的硬件组成部分:并行或串行I/O通道、设备驱动器、I/O设备和数据存取路径l外设故障对策l外设故障的处
46、理步骤第136页,共280页。l存取路径多重化l设备的物理多重化:将信息同时写入若干相同的设备l设备的逻辑多重化:为同一功能安排两个以上的实体设备复制件,而且设置几种不同的设备第137页,共280页。l用硬件或软件重试硬件重试:由I/O通道、设备驱动器对指令自动重试软件重试:先在发生I/O操作错的同一存取路径上进行;若失败,再改用另一路径重试l故障的区分诊断l故障设备的重组l定时监视第138页,共280页。用硬件/软件重试成功?故障的区分诊断故障设备重组定时监视超时?YNYN继续运行第139页,共280页。通道1驱动器1通道2驱动器2TDDP11P12P2212外存第140页,共280页。l将
47、故障设备和故障单元在逻辑上与系统切断,禁止存取,通知操作员切除维修l故障设备修复后,在实际投入系统应用前以诊断工作方式读写检验其是否正常和可靠,称为故障修复后的验收诊断第141页,共280页。l文件:计算机系统中具有逻辑关系的信息/数据的集合l文件恢复的故障前处理l文件恢复的故障后处理第142页,共280页。l故障前处理:在系统运行过程中、故障发生前,将文件恢复所必需的信息记录下来l故障后处理:系统因故障发生而中断运行时,利用故障前记录的信息使刚刚发生故障的文件及系统的其他状态得到恢复,使系统重新运行第143页,共280页。l二重化方式l虚拟空间方式l恢复点方式l报文记录方式l全转储方式lID
48、转储/状态转储方式第144页,共280页。将重要信息二重化第145页,共280页。l更新文件时,将文件复制到别的文件空间后再更新l虚拟空间:用于更新别的文件空间第146页,共280页。l联机系统使用l分类周期转储:按一定时间周期,定期转储系统恢复所需的基本信息增量转储:在文件每次更新前保存下文件的内容、识别号、处理时间等信息第147页,共280页。l常用于小型报文交换系统l在形成输入、输出报文记录时都附加上一定的识别号码,然后系统恢复时通过检验识别号码来确定具体的恢复策略第148页,共280页。l每过一定时间,将系统运行所必需的重要文件和需要长期保存的信息全部从硬盘上转储到磁带、光盘等后援存储
49、器上去。第149页,共280页。l转储系统的运行状态记录,将记录结合恢复点方式和报文记录方式获得的有关文件识别号码、事务处理识别号码、文件内容等信息,恢复系统正常运行状态第150页,共280页。l状态S0:接收完终端送来的报文时l状态S1:在恢复点转储完文件更新信息,但尚未更新文件时l状态S2:用户文件更新完成时l状态S3:向终端发送输出报文时第151页,共280页。l应急恢复l文件恢复l系统恢复的优先次序第152页,共280页。l利用ID转储/状态转储信息和恢复点信息等,尽快使对用户的服务重新开始的恢复l针对两种故障状态:终端处于完全不能访问系统中心的状态终端送来的报文已输入到系统中心,报文
50、正在处理中或已处理完正等待输出时发生故障的状态第153页,共280页。读出的文件发生故障时,利用前一天的全转储信息和当天的恢复点信息来恢复文件第154页,共280页。l终端控制程序的恢复处理l报文控制程序的恢复处理第155页,共280页。l通信系统:由各机所属的通信控制器和机间的通信线路网组成l通信控制器:故障检测:通过特设的回折试验线路和多重化通信的模拟输入/输出功能进行检测故障定位:终端控制程序的故障区分例行程序l通信线路网:交换线路网和专用线路网第156页,共280页。l终端控制程序:以终端、通信线路网的控制为中心,使数据正确而有效地传送l报文控制程序:以一份报文为单位确保数据处理的正确