计算机容错技术及应用浅析

时间:2022-10-16 11:34:26

计算机容错技术及应用浅析

摘要:本文详细地介绍了容错技术基本原理、采用的主要技术与计算机容错技术在现阶段的实际应用状况,进行了集群系统容错与硬件容错的对比分析,最后在容错技术的发展方向上进行了展望。

关键词: 计算机 容错技术 集群技术

1.前言

计算机系统中出现的故障大致可分为永久性故障、间歇性故障与偶然性故障几大类。容错技术是提高计算机系统可靠性的重要手段。如果计算机系统内部存在故障,我们就能够采用容错技术将这些故障的影响消除,保证系统最终输出结果的正确性永久性故障指的是直至修复为止、否则将永远持续进行的故障,其对硬件来讲意味着物理变异的不可逆;而对软件来讲,此故障就是一个不能够进行自动恢复的错误状态[1]。

2.容错技术原理

容错技术可以适时地自动检测、诊断出计算机系统的故障,并且采取一些必要的应对策略。针对不同的故障要采取相应的不同容错方法。总体来说,容错技术大体上有故障检测、静态冗余与动态冗余三种[2]。尽管故障检测能够检测故障,不允许故障存在,但是却不能容错。

故障检测主要依据的原理是大多数失效最终会造成逻辑故障。可用来检测逻辑故障的方法有很多,比如一致性校验、奇偶校验与协议违章等都可以用于故障检测。静态冗余是指通过冗余进行硬件设备配置,对多个部件的逻辑处理结果进行表决,以保证输出结果的正确性;运用故障限制与故障屏蔽等技术进行故障部件的故障隔离[3]。动态冗余则是以静态冗余为基础,依据故障诊断进行故障定位与故障重试,对系统内部的永久性故障进行故障隔离、故障限制与系统重组,最终实现故障恢复。

3.计算机中的主要容错技术应用

NVP与RB是最基本的两种软件容错技术,它们能够有效地提高计算机系统可靠性[4]。NVP技术是一种多版本编程设计结构,属于静态冗余方法;它的基本设计思想为将多个采用不同编程方法而具有同样功能的程序去执行一项运算,输出的结果是由多数表决决定的,其结构如图1所示。

此系统中的多版本是依据同一个需求说明,按不同的设计方法、编程语言、开发工具等由不同的设计人员开发的具有同样功能的软件版本,也就是所说的版本设计相异性。此容错结构方法的应用能够有效避免软件共性故障而产生的系统出错,因而提高了软件可靠性。

图1.NVB结构图2.RB结构

另一种技术应用是RB恢复快结构,属于动态冗余方法。在此结构里,存在一个主程序块与若干备用程序块构,这些程序块具有同一功能而由不同编程方法编辑而成。主程序块可用一个依据相同需求说明设计的备用程序块来替换。此技术应用时,主程序块首先进行运行与接收测试,如果测试顺利通过,则输出结果并传递到后续程序;否则,第一个备用程序块将被调用,依次类推,如果N个备用程序块都被替换完之后依然没能通过测试,则就需要进行故障处理,其结构如图2所示。

其他的软件容错结构都是基于这两个基本结构而来的,例如多版本阶段程序设计(NVPP)[5]。NVP与RB基本结构是计算机软件容错中使用最广泛的技术,占有重要地位。

实际应用过程中,当前流行主要方案有双机热备方式、双机共享的磁盘阵列系统、使用用硬件容错的高档容错机技术与集群技术。此四种系统的共同特点都是围绕软、硬件的安全性与可靠性,对硬件部件、数据库系统、操作系统容错。双机热备份系统,就是热备方式由主机与备机同时工作,但正常工作只通过主机输出,当主机被检测到错误时,系统自动切换至备机输出。它采用的主要技术为集群技术,通过共享磁盘阵列,两台计算机构成集群系统,双机热备系统一般使用分布式的处理方式,两台计算机分别承担各自任务,如果一台计算机发生故障,通过重新调整任务,使故障机的任务被无故障机承担,或者对系统进行功能降级处理,这样系统出现故障时,故障机就丧失某些控制功能。双机容错也可选用带有RAID阵列盘的服务器,通过单台计算机的存储系统进行容错,提高系统可靠性。为了保证数据传输时免受电磁干扰,服务器间的连接一般选用光纤来实现服务器负载分散、相互备用的可用器集群系统。

硬件容错一般采用同步与安全故障技术来实现静态冗余。同步技术指的是采用LOCKSTEP控制技术,在同一时间内使用相同的冗余硬件组件对相同指令进行处理。LOCKSTEP控制技术可以实现多个CPU与内存的精确同步,在相同时钟周期内正确地执行相同指令。该技术保证了系统内的任何错误都能被发现任何,就是那些短暂的错误,系统也能在不损失数据的情况下通过不间断处理使其恢复正常运行。故障诊断技术的实质就是通过采用故障诊断软件,进行管理与诊断特征捕获,分析与通报服务器软件问题来实现短暂的硬件故障的保护;采用增强的驱动程序防止软件失效;及时捕获分析与修正软件问题,使内存数据连续性得到保证。

对那些应用要求较高的计算机系统,可采用集群技术与动态冗余相结合的方式,选用处理器带故障监测功能的高端服务器,具有多处理器指令重试、位导引内存、冗余电源、热插拔磁盘、动态分配处理器和散热风扇等功能,通过集群技术配置多台高性能服务器,使其成为服务器集群系统,来实现系统的高可靠性与高可用性。

总结

计算机容错技术已经得到了快速发展,未来的容错技术将会向更卓越的可维护性与更高的可用性方向发展,更灵活的集群技术与更多的含有容错技术的服务器平台将会得到更广泛地应用。

参考文献

[1]杨孝宗.容错计算技术的提出和发展[J]

[2]刘云龙,陈俊亮.基于数据流分析的软件容错策略[J]

[3]刘耀,胡越明,金利峰.高可靠计算机系统的容错技术[J].

上一篇:巧用古诗词提升作文水平的四个技巧 下一篇:刍议初中数学教学中的合作与交流