欢迎来到天天文库
浏览记录
ID:59317736
大小:13.00 KB
页数:1页
时间:2020-09-05
《软件容错方法.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、容错方法:1.Byzantine协议:有m个处理机(进程)出错的系统中要实现协同一致,至少需要2m+1个正常处理机(进程)时才可能,也就是说至少需要的处理机(进程)总数是3m+1个。2.微重启技术(Micro-reboot):针对大型分布式应用软件系统发生故障时的快速恢复技术。微重启技术有别与传统的重启方式(宏重启),它采用递归恢复的方法,即将系统划分为多个故障隔离的组件子集,首先重启可能引起故障的最小子集但不影响系统其他部分的正常运行,如果不起作用,再依照故障传播路径递近地重启更大范围子集,直到故障最终解决或者需要其他恢复策略的执行。微重启可以有
2、效避免系统因全面重启而造成的数据丢失和事务进程的中断,并且极大地缩短了因全面重启而引起的冗长恢复时间;通过快速地解决局部故障以避免整体宕机,从而提高了应用系统的可用性。3.软件抗衰技术(SoftwareRejuvenation):在软件运行期间,系统可能出现资源逐渐耗尽或运行错误逐步积累所导致的系统性能下降乃至挂起停机的现象,这种现象称为软件衰退(SoftwareAging)。软件抗衰是指为预防系统突然发生故障而预先采取的措施。它是一种前摄的容错技术,主要通过适时、适度地消除系统内部错误的运行状态来完成。主要措施有:周期性地暂停软件的运行,清除系统
3、的内部状态,重新启动并恢复为干净的初始/中间状态。常见的内部状态清理手段有清除缓冲序列、内存垃圾收集、重新初始化内核表、清理文件系统等。最简单、常见的软件抗衰措施是计算机的重新引导。4.回滚机制:可以周期性的对软件做检查点,检查点可以放在磁盘,远程内存,非易失性的或者持久的内存中,也可以实时的对软件的操作以日志的方式进行记录。当软件出现错误时,可以根据检查点或者日志回滚到一个合适点并对先前出现的错误进行相应处理而不造成软件再次出错。5.错误忽视技术(Failure-ObliviousComputing):在一次计算中,当错误发生在不相关的计算中,错
4、误忽视技术能够保证服务忽视这些错误而继续执行该计算。当内存错误发生在该计算中,错误忽视技术能够产生一个能够导致服务能处理的无效输入请求,从而服务中的错误处理模块能够进行处理。该方法的缺陷是只能处理内存相关的bug,能够产生高负载,以及由于对内存接口进行了潜在的不安全修改而可能产生程序的非预期行为。6.编译器级容错技术:如复制指令错误探测(ErrorDetectionbyDuplicatedInstructions,简称EDDI),基本思想是编译器复制程序指令并将源指令与复制指令合并(为了提高容错性能,两种指令放在不同的寄存器和内存的不同位置)。在一
5、定的同步点(store指令处和branch指令处),编译器插入检测指令来检查源指令与复制指令的执行结果是否一致。其优点是效率高,既可用于单机环境,又可用于分布式环境,而且可以根据不同环境加以定制。
此文档下载收益归作者所有