处理器容错技术的相关研究

合集下载

计算机操作系统的容错性与可靠性分析

计算机操作系统的容错性与可靠性分析

计算机操作系统的容错性与可靠性分析在当今信息技术高速发展的时代,计算机操作系统是支撑各种应用的核心基础软件,其容错性和可靠性成为保障计算机系统正常运行的重要因素之一。

本文将对计算机操作系统的容错性与可靠性进行深入分析,探讨其相关概念、重要性以及实现方法。

一、容错性与可靠性的概念与重要性1. 容错性的概念与重要性容错性是指在计算机系统出现部分故障时,仍能保证系统的稳定性和可用性的能力。

当计算机操作系统在面对硬件故障、软件错误或恶意攻击等异常情况时,如果能够自动检测并纠正错误,或者通过备份和冗余机制进行自动切换和恢复,就可以体现出良好的容错性。

容错性的重要性在于,它能够降低系统崩溃的风险,提高系统的可用性和稳定性,从而保障用户的数据安全和业务的连续性运行。

2. 可靠性的概念与重要性可靠性是指计算机操作系统在长时间运行中保持稳定性和可用性的能力。

一个可靠的操作系统应该能够在面对大量用户并发访问、繁重的计算任务和复杂的网络环境等多种挑战下依然能够正常运行。

可靠性的重要性在于,它直接关系到系统是否能够提供高性能和高效率的服务,同时也影响到用户对操作系统的信任度和满意度。

二、计算机操作系统的容错性实现方法1. 错误检测与纠正为了实现容错性,计算机操作系统通常会引入各种错误检测和纠正机制。

例如,利用校验码和冗余校验等技术可以检测和纠正数据传输过程中的误码,减少传输错误的可能性;利用进程监控和心跳机制可以检测到进程的异常行为,并及时采取相应的纠正措施。

2. 备份与冗余备份与冗余技术是提高操作系统容错性的重要手段之一。

通过建立备份系统或者使用冗余的硬件设备,当主系统出现故障时,备份系统或冗余设备可以立即切换并接管工作,保证用户服务的连续性。

常见的备份与冗余技术包括备份服务器、热备份、冗余数组等。

3. 异常处理与恢复操作系统应该具备快速检测和处理异常情况的能力,及时恢复正常状态。

当系统发生异常时,操作系统可以通过调整资源分配、重启服务进程或者执行特定的容错算法来进行恢复。

超级计算技术中的容错与故障恢复

超级计算技术中的容错与故障恢复

超级计算技术中的容错与故障恢复超级计算技术作为一项关键的信息技术,被广泛应用于各个领域,包括天气预报、医学研究、工程设计和材料科学等。

然而,由于超级计算机的规模和复杂性,它们往往在运行过程中面临各种故障和错误。

因此,容错和故障恢复成为了超级计算技术中不可忽视的问题。

容错是一种技术,旨在提高系统的可靠性和稳定性。

它可以通过设计和实施冗余机制来预防和纠正错误。

超级计算机的容错技术主要包括硬件和软件层面。

在硬件层面,容错技术着重解决硬件故障对系统正常运行的影响。

例如,通过采用冗余组件,如冗余电源、冗余风扇和冗余硬盘阵列等,可以确保当一个组件发生故障时,系统可以继续运行。

此外,还可以使用错误检测和纠正码(ECC)来检测并纠正内存中的位错误。

这些技术的使用可以极大地减少硬件故障给系统带来的影响。

在软件层面,容错技术主要涉及到系统软件的设计和优化。

例如,通过使用备份系统和热备份机制,可以确保在主系统发生故障时,备份系统可以立即接管工作。

此外,容错技术还包括错误检测和处理算法的设计。

例如,系统可以使用冗余检查点机制来检测和恢复由软件错误引起的系统状态错误。

这些方法可以很好地提高系统的可靠性和稳定性。

当然,容错技术只是预防故障的一种手段,并不能完全消除故障的发生。

因此,一旦故障发生,及时而有效地进行故障恢复变得至关重要。

故障恢复是一种技术,旨在将系统从一个故障状态恢复到正常运行状态。

超级计算技术中的故障恢复主要包括以下几个方面:首先,故障诊断是故障恢复的第一步。

通过使用监控工具和传感器,可以实时监测系统的状态,并及时报告故障。

在诊断过程中,可以使用故障树和故障模式选择合适的恢复策略。

其次,故障隔离是故障恢复的关键步骤。

一旦诊断出故障的位置,需要将故障的影响范围限制到最小,并保护其他部分的功能和性能不受影响。

这可以通过切换到备份系统、用备用组件替换故障组件或重新分配工作负载等方式来实现。

最后,故障修复是故障恢复的最后一步。

计算机系统容错技术研究

计算机系统容错技术研究

计算机系统容错技术研究彭嘉辉【摘要】The rapid development of the premise of people's work and life more and more inlfuence on modern computers, the demand for fault tolerant computer system is more and more intense, requirement of computer system has good fault-tolerant performance, so as to ensure the normal operation of the computer system. Therefore, we need a fault-tolerant method of software and hardware of the computer system are analyzed, and then explore the architecture of computer fault tolerant system is several practical, hoping to promote signiifcantly improved fault tolerant computer system performance.%在现代计算机快速发展并且对人们的工作和生活影响越来越大的前提下,人们对于计算机系统容错的需求就越来越强烈,要求计算机系统有良好的容错性能,进而保障计算机系统的正常运行。

因此,需要对计算机系统软硬件的容错方法进行分析,进而探索出几种较为实用的计算机容错系统的体系结构,希望能够促进计算机系统容错性能的大幅提升。

【期刊名称】《无线互联科技》【年(卷),期】2015(000)007【总页数】2页(P106-107)【关键词】计算机容错系统;容错技术;硬件;软件;冗余【作者】彭嘉辉【作者单位】国家新闻出版广电总局七二三台,河北石家庄 050000【正文语种】中文计算机容错系统是由若干台计算机按照一定的容错原则通过资源冗余,配置构成冗余结构的计算机系统,当系统出现一定的运行性故障时,能够依赖系统内驻的容错能力保证系统连续正确地执行其程序并输出正确的结果。

容错纠错存在的问题及对策

容错纠错存在的问题及对策

容错纠错存在的问题及对策简介:随着科技的不断发展,人们对于容错纠错技术的需求也越来越高。

然而,尽管容错纠错技术在很多领域都有广泛的应用,但仍然存在一些问题需要解决。

本文将讨论容错纠错存在的问题,并提出相应的对策。

一、容错纠错存在的问题1.1 难以100%保证数据完整性容错纠错技术可以通过增加冗余信息来确保数据在传输或存储过程中不丢失或损坏,但并不能完全保证数据的完整性。

无论是硬盘存储还是网络传输,都存在一定概率出现错误。

这就意味着在极小概率情况下,数据仍可能会丢失或损坏。

1.2 对系统资源消耗较大为了增加冗余信息和实现容错纠错功能,系统需要额外分配一部分资源用于相关计算和存储。

这样就会导致系统性能降低,并且资源消耗较大。

对于某些对实时性要求较高或资源受限的系统来说,这种消耗可能会成为瓶颈。

1.3 算法复杂度高容错纠错技术所使用的纠错算法往往非常复杂,需要消耗大量的计算资源和时间。

尤其是对于大规模数据传输或存储场景来说,这样的计算复杂度会成为一个挑战。

高复杂度不仅延长了处理时间,还增加了系统出错概率。

二、解决容错纠错存在问题的对策2.1 引入多种容错机制针对数据完整性无法100%保证的问题,可以引入多种容错机制来提高可靠性。

例如,除了使用冗余信息进行错误检测和纠正外,还可以采用备份策略,在不同位置保存数据副本,并定期进行校验。

当发现错误时,可以从备份中恢复数据。

2.2 优化资源分配为了减轻容错技术对系统资源的消耗,可以优化资源分配策略。

根据具体应用场景的需求和系统特点,合理安排计算和存储资源。

通过技术手段对冗余信息进行压缩或编码处理,减少所需的存储空间和计算能力。

2.3 算法优化与硬件协同设计针对算法复杂度高的问题,可以通过算法优化和硬件协同设计来提高运算效率。

在算法层面上,可以通过改进纠错算法的逻辑和流程,优化计算过程。

在硬件层面上,可以采用特定的处理器或硬件加速技术,提升容错纠错技术的执行效率。

高可信容错计算机系统设计与应用研究

高可信容错计算机系统设计与应用研究

c nsrce s d o o tu tdbae n TCM o a h e eplto m ne ry d ni uh n iaina aa sc rt. pe dn n futtlrn e h o o y y tm t c iv afr itg i ,ie ty a te tc to nd d t e u i De n ig o a l oe a ttc n lg ,s se t t y -
程 宾 ,博士研究生
斌 、杨银刚 ,工程 师;
收稿 日期 :2 1 0—9 01 91 -
修 回日期 :2 1-1 1 011- 2
Ema :y gm @f m iem — i a _ h o a. l n x lo
28 3





2 1 年 8 5日 02 月
自动恢 复,阻断非法程序运行 ,保障系统和核心应 用不被破 坏 ,保 障重 要信 息不被泄露 、窃取、篡改和毁坏 ;当系统 出 现故障的情 况下 ,可以对故 障进行屏蔽 ,使得故障无法最终
表现出来 ,从而使计算机系统仍能正确工作 。
级信任一级 ,逐级建立信任 ,最终构建可信执行环境 ,从而 保证信息系统 的安全性 。系统运行时可以通过软件模块( J 如
I ) MC 检测应 用程序或进程的完整性 ,确保应用程序 或进程 的
可信性 。
2 基于 T M 的可信安全体系 C
3 S h o o C mp tr ce c n eh oo yBe igIstt f eh oo y B in 0 0 1Chn ) . c o l f o ue i eadT cn lg , in tue Tc n lg , e ig10 8, ia S n j ni o j

量子信息处理中的错误校正与容错技术

量子信息处理中的错误校正与容错技术

量子信息处理中的错误校正与容错技术量子计算是一种新兴的计算模型,利用量子力学中的特殊属性来进行高速、并行计算。

然而,与传统计算机相比,量子计算机面临着更大的挑战,即量子比特中的错误。

量子系统非常容易受到环境噪声和量子性质的干扰,因此处理量子错误变得至关重要。

为了克服这些问题,量子信息处理中的错误校正与容错技术的研究正在积极进行。

在量子计算中,量子比特(qubit)是信息的基本单位。

与经典比特不同,它可以处于多个状态的叠加态,在计算过程中能够同时处理多个问题。

然而,叠加态的容易受到干扰和噪声的影响,这导致量子比特的错误率大大增加。

因此,需要开发出错误校正方案和容错技术,以确保计算的准确性和可靠性。

错误校正是通过量子纠缠和量子逻辑门操作来检测和纠正量子比特的错误。

传统的错误校正方案包括三个主要步骤:错误检测、错误识别和错误纠正。

首先,量子系统的状态会与一个辅助比特进行纠缠,形成量子纠缠态。

通过对系统进行测量,可以检测到错误的发生。

然后,根据测量结果,可以确定出现错误的位置和类型。

最后,利用一系列的量子逻辑门操作来纠正错误。

这种纠错过程能够将错误率的下降速度大大加快,提高量子计算的可靠性。

容错技术是在量子纠错的基础上进一步发展的,旨在以较低的错误率来进行大规模的量子计算。

一种常用的容错技术是量子编码。

类似于传统计算机中的冗余校验码,量子编码通过引入额外的比特来保护原始信息。

当受到错误干扰时,原始信息可以被还原出来。

这种技术可以有效地提高量子计算的可靠性和容错性能。

另一种常用的容错技术是量子隐写术。

在量子隐写术中,原始信息会分成小块,每一块都会被嵌入到不同的量子比特中。

这种方法可以保证即使部分信息受到错误干扰,仍然可以恢复原始信息。

此外,还有一些其他容错技术,如量子相态融合和混合纠错方法。

量子相态融合是一种将多个相同的量子比特合并为一个更大的量子比特的技术。

这样可以降低错误率并提高计算的准确性。

混合纠错方法则是将经典和量子技术相结合,以更高的容错能力来进行计算。

容错与避错技术及应用

容错与避错技术及应用容错与避错技术是指在设计和实现软件或系统时,采取一系列方法和措施,以提高系统的可靠性和稳定性,从而减少错误的发生和传播,以及解决错误可能带来的影响和后果。

容错与避错技术被广泛应用于各种领域和行业,如航空航天、金融、电力、交通等,其主要目的是确保系统能够在错误或故障情况下继续正常运行或能够快速恢复。

容错技术主要包括硬件容错和软件容错。

硬件容错技术可以通过冗余机制来提高系统的可靠性,如冗余备份、冗余计算、冗余存储等。

软件容错技术则是通过软件设计和实现的方式来提高系统的可靠性和稳定性,如错误检测、错误修复、错误恢复等。

容错技术的核心思想是在系统设计和实现阶段就考虑到错误的可能性,并在系统运行期间对错误进行检测、诊断和处理,以保证系统能够继续工作或恢复到正确状态。

容错技术的应用范围十分广泛。

在航空航天领域,容错技术被用于确保飞行器的安全和可靠性。

例如,航空器中的飞行控制系统采用冗余计算和容错设计,以确保在某个计算单元出现错误的情况下能够及时切换到备用计算单元,从而避免飞行中的事故发生。

在金融领域,容错技术被用于保护交易系统的可靠性和数据的完整性。

例如,电子支付系统会采用容错技术来检测和恢复错误的交易,以防止用户的资金损失。

容错技术的核心在于错误检测和错误处理。

错误检测是指在系统运行期间对可能出现的错误进行检测和诊断。

例如,可以通过数据校验、输入验证等方式来检测异常或错误数据。

如果发现错误,可以采取相应的措施来处理错误,如数据的纠错、恢复等。

另外,在设计和实现阶段也可以采用一些措施来提高系统的容错性,如模块的独立性、错误处理机制的设计等。

避错技术是容错技术的一种补充和延伸。

避错技术主要通过预防错误的发生来提高系统的可靠性和稳定性。

例如,在软件开发过程中,可以采用代码规范、静态代码分析等方式来避免错误的引入。

此外,还可以采用代码复查、测试等方式来发现和修复已经存在的错误。

避错技术的目的是尽可能地减少错误的发生,从而降低系统的风险和故障率。

计算机容错技术及应用论文

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

关键词: 计算机容错技术集群技术1.前言计算机系统中出现的故障大致可分为永久性故障、间歇性故障与偶然性故障几大类。

容错技术是提高计算机系统可靠性的重要手段。

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

2.容错技术原理容错技术可以适时地自动检测、诊断出计算机系统的故障,并且采取一些必要的应对策略。

针对不同的故障要采取相应的不同容错方法。

总体来说,容错技术大体上有故障检测、静态冗余与动态冗余三种[2]。

尽管故障检测能够检测故障,不允许故障存在,但是却不能容错。

故障检测主要依据的原理是大多数失效最终会造成逻辑故障。

可用来检测逻辑故障的方法有很多,比如一致性校验、奇偶校验与协议违章等都可以用于故障检测。

静态冗余是指通过冗余进行硬件设备配置,对多个部件的逻辑处理结果进行表决,以保证输出结果的正确性;运用故障限制与故障屏蔽等技术进行故障部件的故障隔离[3]。

动态冗余则是以静态冗余为基础,依据故障诊断进行故障定位与故障重试,对系统内部的永久性故障进行故障隔离、故障限制与系统重组,最终实现故障恢复。

3.计算机中的主要容错技术应用nvp与rb是最基本的两种软件容错技术,它们能够有效地提高计算机系统可靠性[4]。

nvp技术是一种多版本编程设计结构,属于静态冗余方法;它的基本设计思想为将多个采用不同编程方法而具有同样功能的程序去执行一项运算,输出的结果是由多数表决决定的,其结构如图1所示。

此系统中的多版本是依据同一个需求说明,按不同的设计方法、编程语言、开发工具等由不同的设计人员开发的具有同样功能的软件版本,也就是所说的版本设计相异性。

物联网中的数据容错技术研究综述

物联网中的数据容错技术研究综述引言:随着物联网的迅速发展,大量的设备和传感器连接到网络中,将产生大量的数据。

然而,在物联网环境下,由于网络不稳定、设备故障或其他意外情况,数据的完整性和可靠性面临着挑战。

为了确保物联网系统的可靠性和稳定性,我们需要研究和应用数据容错技术。

本文将综述物联网中的数据容错技术的研究进展,并讨论其应用和未来发展方向。

一、物联网数据容错技术的概述物联网中的数据容错技术旨在解决数据丢失、数据错误和数据完整性等问题。

通常,数据容错技术包括冗余数据存储、错误检测和纠正、数据校验和恢复等方法。

冗余数据存储通过在不同的节点或服务器上存储多个副本来保证数据的可靠性。

错误检测和纠正技术采用各种算法和编码方法,以检测和纠正数据传输中可能出现的错误。

数据校验和恢复技术则用于验证数据的完整性,并在数据损坏或丢失时恢复数据。

二、物联网数据容错技术的研究进展1. 冗余数据存储冗余数据存储技术是数据容错的关键方法之一。

它通过在多个设备或服务器上保存数据的多个备份来提高数据的可靠性。

目前,常用的冗余数据存储技术包括主-备份复制、多副本一致性和数据片散列等方法。

主-备份复制技术将数据存储在主节点和备份节点上,一旦主节点故障,备份节点即可接管并提供数据。

多副本一致性技术通过协议和算法来保持多个副本之间的一致性,以提供高可靠性和可用性的数据存储。

数据片散列技术通过将数据切分成多个片段,并在不同节点上进行存储,从而提高数据的可靠性和分布性。

2. 错误检测和纠正在物联网环境下,数据传输中可能会出现各种错误,例如位错误、丢包和重复数据等。

错误检测和纠正技术旨在检测并纠正这些错误,以确保数据的完整性和准确性。

常用的错误检测和纠正方法包括奇偶校验、循环冗余校验(CRC)、海明码等。

奇偶校验技术通过计算数据中的奇数位或偶数位的总和,并与存储的奇偶校验位进行比较,来检测错误。

CRC技术则采用多项式除法的方法,通过计算和比较校验码来检测和纠正数据传输中的位错误。

容错机制知识点总结

容错机制知识点总结一、引言在计算机系统中,容错机制是指系统在面对错误或异常情况时能够继续正常运行或提供可预测的响应能力。

容错机制在计算机系统设计中起着重要的作用,能够保证系统的可靠性和稳定性。

本文将对容错机制的相关知识点进行总结,包括容错的定义、常见容错机制、容错技术以及容错系统的设计原则等内容。

二、容错机制的定义容错机制是指在面对错误或异常情况时系统能够继续保持运行或提供可预测的响应。

其目的是确保系统在面对错误或异常情况时不会因此而崩溃或表现出不受控制的行为。

容错机制的设计目标是提高系统的可用性和可靠性,减少错误对系统造成的影响。

三、常见容错机制1. 容错检测容错检测是指系统通过监测和检查来发现故障或错误,从而采取相应的措施来处理。

常见的容错检测技术包括硬件检测、软件检测、数据检测和通信检测等。

硬件检测是通过硬件设备来监测系统的状态和错误,例如通过监测硬件设备的电压、温度、时钟等来检测错误。

软件检测是指通过软件程序来监测系统的状态和错误,例如通过检测软件程序的运行状态和输出结果来检测错误。

数据检测是指通过监测和检查系统的数据来检测错误,例如通过数据校验和冗余数据来检测错误。

通信检测是指通过监测系统之间的通信和交互来检测错误,例如通过监测数据包的传输和接收来检测错误。

2. 容错恢复容错恢复是指系统在发生错误或异常情况后能够自动恢复至正常状态,并且保持系统的稳定性和可用性。

常见的容错恢复技术包括重启恢复、数据恢复和状态回滚等。

重启恢复是指系统在发生错误或故障后能够自动重启并从错误中恢复正常状态。

数据恢复是指系统在发生数据丢失或损坏时能够自动从备份数据中恢复。

状态回滚是指系统在发生错误或异常情况后能够回滚至上一个稳定状态,以确保系统的稳定性和一致性。

3. 容错掩盖容错掩盖是指系统在面对错误或异常情况时能够隐藏或减轻错误对系统造成的影响,从而保持系统的正常运行或提供可预测的响应。

常见的容错掩盖技术包括错误屏蔽、错误预防和错误修复等。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

处理器容错技术的相关研究张仕健摘要随着集成电路制造工艺的持续进步,处理器计算的可信性面临着瞬态故障的严重威胁。

本文将处理器的容错技术分为针对存储单元的容错技术和针对流水线逻辑的容错技术,从不同的层次介绍和分析有代表性的最新的研究成果,在此基础上归纳、总结出当前研究重点解决的几个问题并展望了容错技术未来的发展趋势。

关键词瞬态故障、容错、时间冗余、微处理器结构1引言集成电路制造工艺的持续进步使得处理器计算的可信性面临着瞬态故障的严重威胁[1]。

瞬态故障是一种芯片的非物理性损伤,可由粒子辐射、电源和互联噪声、电磁干扰等因素诱发,会对程序执行的正确性产生灾难性的影响。

有研究表明,在纳米工艺条件下,瞬态故障是引起芯片失效的主要原因[2]。

人们对瞬态故障的研究随着科技的发展不断深化。

早在1954年,人们在核试验和空间试验中发现了瞬态故障并对导致故障的辐射源、故障模型展开了研究;1978年,人们发现高密度内存电路在地面使用中受阿尔法(α)粒子辐射或宇宙射线作用会发生瞬态故障。

自此,针对存储单元的容错技术在多个层面展开了大量的研究[3];随着器件特征尺寸的缩小和工作频率的提高,组合逻辑上发生的瞬态故障将对芯片的失效率产生不可忽视的重大影响[4],针对流水线逻辑的容错技术逐渐成为研究热点。

本文首先将处理器的容错技术分为针对存储单元的容错技术和针对流水线逻辑的容错技术,然后从不同的层次介绍和分析有代表性的最新的研究成果,在此基础上归纳、总结出当前研究重点解决的几个问题,并给出了容错技术未来的发展趋势。

2处理器容错技术根据容错技术作用对象的不同,可以将处理器容错技术分为两大类:存储单元容错技术和流水线容错技术。

本文所说的存储单元包括片上缓存、TLB1以及寄存器堆,这些电路单元排列规整、集成度高;流水线包括流水线上的组合逻辑和流水线寄存器。

2.1存储单元容错技术在现代微处理器芯片中,存储单元占有绝大部分的面积。

它上面发生的故障会直接影响程序的正确执行。

因此针对存储单元的容错技术一直是研究的重点。

这些研究可分为电路级容错技术和结构层容错技术。

电路级容错技术一般都有存储备份单元和状态反馈电路。

当一个存储单元发生故障时,状态反馈电路从备份的存储单元中提取正确的状态并恢复出现故障的存储单元的状态。

双向互锁存储技术(DICE,Dual Interlocked storage Cell)[5]是这类技术的典型。

每个DICE单元包括两个存储节点和两个保持节点,当某一个节点出现故障,两个保持节点通过反馈电路,自动恢复故障节点的状态。

该技术故障延迟短,一般只有几个纳秒,通过制作成电路库单元,能够降低容错系统的开发、验证成本,主要缺点是芯片面积显1 Translation Look aside Buffer,转换旁视缓冲器,作用是存放虚拟地址到物理地址的转换结果著增大,增加了生产成本。

例如在90纳米工艺下,DICE单元的面积比普通存储单元的面积增加了80%。

在结构层面,基于编码的信息冗余技术被现代微处理器广泛采用[6][7],常用的ECC2编码能纠正一位错发现两位错,可满足大多场合的应用需求。

但是随着芯片集成单元越来越密集,发生多位错误的可能性在逐渐增加,因此,如何克服多位故障是一个值得深入研究的问题。

IBM提出的Chipkill技术是一种高级的ECC编码,通过内存交织和位分散的方式能够容忍多位故障[8]。

内存洗刷技术周期性地执行ECC检错和纠错逻辑,能有效减少多位故障发生的可能性[9]。

张(Zhang)等人提出的ICR3技术利用空闲的缓存块备份活跃的缓存块,结合Parity编码,可以一定程度上克服多位故障[10]。

另外,常规的编码技术忽视了缓存块的状态差异,对所有的缓存块都统一编码,不能满足一些应用中的面积限制。

林(Lin)等人的研究表明,经常使用的缓存块发生故障的概率是非活动缓存块的5倍[11]。

基于该发现,学术界提出了奇偶校验码缓存技术(Parity Caching)、影子缓存检测技术(Shadow Checking)、多路选择检测技术(Selective Checking)[12]以及拷贝缓存(Replication Cache)[13]等新型的缓存结构。

它们面积开销小、性能损失低,同时又有一定的容错能力,值得深入的研究。

2.2流水线容错技术流水线容错技术在不同的处理器类型,如单核单线程、单核多线程和多核处理器中有不同的实现形式。

2.2.1单核单线程处理器单核单线程处理器有三种方法检测流水线故障:空间冗余技术、时间冗余技术和基于事件的容错技术。

空间冗余技术需要增加处理通路,在多个处理通路上执行相同的指令流,比较通路之间执行状态的一致性来检测或容忍故障。

IBM S390 G5[14]是一个典型的采用该技术的商用处理器,它的处理器核中映射了I单元和E单元,在每个时钟周期都要检测指令在原单元和映射单元之间的执行状态是否一致,如果不一致,就发现了故障,通过R单元恢复处理器状态。

空间冗余技术能够检测到流水线上各阶段发生的故障,但是硬件开销大,适用于一些高端的服务器。

时间冗余技术是在相同的处理通路上多次执行相同的指令流,通过比较指令前后的执行结果来发现故障。

由于它不需要额外的处理通路,硬件开销小,是目前研究的热点。

例如:重复使用超标量数据通路技术[15]是在译码阶段向重排序缓冲(Reorder Buffer, ROB)插入多个指令副本,在指令修改寄存器状态之前比较它们的执行结果是否一致,如果不一致,则采用指令猜测执行时的回绕机制来恢复处理器状态。

该技术能够检测重排序缓冲、功能部件以及部分总线上出现的故障,采用部分SPEC95和SPEC2000测试程序的模拟实验表明,与非容错的微结构相比,它的IPC4下降了2%~45%。

库雷希(Qureshi)等人提出利用缓存失效损失的带宽执行冗余指令[16],该技术能够检测流水线上各阶段发生的故障,但恢复状态比较困难,适合于访存密集型应用。

我们提出的向分支指令后插入冗余指令的容错的微结构[17],也能够检测流水线上各阶段发生的故障且容易恢复状态,适用于带有简单预测机制的嵌入式微处理器。

基于事件的容错技术认为,当处理器出现故障时,处理器结构会出现异常行为,如缓存(Cache)失效率上升、分支预测准确率下降,通过侦测这些异常事件并结合检测点技术,就能够检测到部分故障并恢复处理器状态[18][19]。

图1是Restore处理器的结构框图[18],症状侦测器检测每级流水的异常状态,当发现异常时,马上用检测点恢复处理器状态。

该技术既避免了空间冗余技术巨大的硬件开销,又避免了时间冗余技术明显的性能损失,是一种很有前途的新技术。

目前需要解决的问题是如何设计高效的异常事件2 Error Checking and Correction3 In-Cache Replication ,缓存内复制技术4 Instructions Per Clock Cycle,指令/时钟周期预测机制提高故障覆盖率。

图1.Restore处理器的微结构框图2.2.2单核多线程处理器单核多线程结构是充分挖掘线程间并行性的一种新型的处理器结构,基于单核多线程的容错结构可利用核内已有线程,硬件改动比较小,是一个重要的研究方向。

AR-SMT[20]是最早的基于同时多线程的容错结构。

它的主线程(A-stream)和冗余线程(R-stream)通过一个延迟缓冲耦合,如图2所示。

当主线程提交指令时,其结果在修改程序状态的同时还保存在一个延迟缓冲中。

冗余线程和主线程在一个SMT5处理器中同时调度执行,冗余线程落后主线程的时间不会大于延迟缓存的长度,通过比较冗余线程的执行结果和保存在延迟缓冲中的结果就可以检测到流水线上的故障。

冗余线程提交的状态可作为检查点恢复状态。

模拟实验结果表明,和单线程程序相比, AR-SMT的执行时间增加了10%~30%。

SRT6[21]技术在AR-SMT的基础上采用ALAB7、LVQ8等硬件机制解决了主线程和冗余线程间的内存一致性问题。

SRTR9[22]技术图2.AR-SMT处理器的微结构框图在SRT的基础上要求只有执行结果都通过检测之后才修改处理器状态,解决了检测到故障后的状态恢复问题,但是性能损失进一步增加。

这些技术都利用了主线程的访存行为和分支结果加速执行冗余线程,但是主线程和冗余线程共享硬件资源,不可避免地存在竞争,如何减小资源冲突、降低性能损失,是基于单核多线程的容错结构必须解决的一个重要问题。

2.2.3多核处理器基于多核处理器的容错结构有两种实现形式:并行结构和串行结构。

在并行结构中每个处理器核都工作在同步模式,它们同时执行相同的指令,在每个时钟周期都要比较核的输出是否一致,如果不一致,就认为某个核发生了故障并通过复位、重组等技术恢复处理器状态[23]。

该结构故障检测延时短,但恢复状态延时较长,处理器核会经常执行一些无用指令,资源利用率不高。

在串行结构中,核间通过一些缓冲队列进行耦合,不要求内核严格同步,5 Simultaneous multithreading,同时多线程6 Simultaneous & Redundantly Threaded Processor,同时冗余多线程处理器(等效于同时多线程+故障检测)7 Active Load Address Buffer活动读访存地址缓冲8 Load Value Queue读访存值队列9 Simultaneous & Redundantly Threaded Processor with Recovery,自恢复同时冗余多线程处理器(等效于SRT+故障恢复)冗余线程可以利用主线程的访存结果和分支结果提高性能。

Slipstream[24]、CRT[25]、CRTR[26]都是典型的串行结构。

基于多核的容错结构在一个核上执行主线程,在另一个核上执行冗余线程,既平衡了负载,又减小了一个故障同时影响两个线程的可能,因此比基于单核多线程的容错结构有更高的故障覆盖率,但是核间的大量通信会导致延时和带宽问题。

3容错技术的评估方法故障注入法和故障分析法是两类常用的容错技术的评估方法。

故障注入法是一种按照选定的故障类型在目标计算机系统中人为地产生故障并对系统响应信息收集处理的实验过程。

目标计算机系统可以是系统原型,也可以是系统的一个抽象模型。

如:G.M.Swift等人采用重粒子辐射的方法研究PowerPC750微处理器的容错性[27];SINJECT系统在HDL10描述的门级、寄存器传输级以及行为级模型上注入故障[28]。

一般而言,直接向硬件原型注入故障准确度高,但评估周期长,不易控制和观测;向硬件的抽象模型注入故障可以方便地控制故障的注入时间和注入地点,能够直接观测故障在模型中的行为,但要仔细平衡抽象层次、模拟速度以及准确度三者之间的关系。

相关文档
最新文档