We use cookies to improve your experience with our site.

基于任务完成概率的双模冗余检查点管理

Checkpoint Management with Double Modular Redundancy Based on the Probability of Task Completion

  • 摘要: 在实时系统中,容错性是一项很重要且基本的需求,而检查点和双模冗余机制是两个典型的解决方案。检查点用来保存任务的中间状态,当错误被系统检测到时,任务会被回滚到前一个状态。双模冗余则是分配两个处理器,用来并行地处理相同的任务,并将它们的结果进行比较,若发现结果不一致则证明有错误发生。本文提出了一个容错策略,将这两个机制融合在一起,不需要内置的出错检测模块和另外的处理器,便可让实时系统从暂时性或永久性的错误中恢复。此外,系统的容错性能也能够获得提高。据作者所了解,在双模冗余(DMR)框架下,在不使用多余处理器的条件下,类似的容错机制尚未被实现过。同时本文还提出了一个优化过程来选择检查点的数量:当假设错误的发生概率符合泊松分布时,该过程便为最优,可使得任务的完成概率最大,并提高整个系统的可靠性。本文提出方案的实现方法与传统的DMR方案不同:传统的DMR仅采用两个存储器来保存一个处理器的前后状态;而本文方案则分配多一个另外的存储器,来保存一个处理器最后一次成功执行后的状态,还有一个标志位用来记录当前状态是否与上一状态相同。根据这些新增加的被记录下来的状态,作者提出了一个双层比较的DMR检查点算法(包括同一处理器前后状态的比较以及两个处理器的同一状态点的比较),并证明他们的算法在不同的情景下(无论是暂时性的或永久性的错误发生),都能够适用。此外,为了建立马尔可夫模型,作者定义了四个状态,用来表示两个处理器将要执行的下一个时间间隔时的不同状态。完成建模后,作者通过数学方法,计算出不同情景下的任务完成率。最后通过对数个例子仿真,并对所得数据进行分析,获取不同情景下的最佳检查点数。本文提出的方案新颖,双模冗余和检查点的结合,提高了系统的容错性能,并避免了系统在相同的错误不断产生时执行回滚。此外,当有一个处理器发生永久性错误时,它也能够以双倍的执行时间为代价来解决该问题。此外,通过建立马尔可夫模型,本文提出的算法还能够获取检查点的最优数目,使得任务的完成概率被最大化。对于1)没有内置的错误检查模块和剩余的处理器 2)永久性错误的发生概率不可忽略 的实时系统,可以考虑使用本文提出的DMR与检查点方案去解决容错问题。而最优检查点数的选择,也可被用于提高系统的工作性能,减少执行回滚时的损失时间。

     

    Abstract: This paper proposes a checkpoint rollback strategy for real-time systems with double modular redundancy. Without built-in fault-detection and spare processors, our scheme is able to recover from both transient and permanent faults. Two comparisons are conducted at each checkpoint. First, the states stored in two consecutive checkpoints of one processor are compared for checking integrity of the processor. The states of two processors are also compared for detecting faults and the system rolls back to the previous checkpoint whenever required by logic of the proposed scheme. A Markov model is induced by the fault recovery scheme and analyzed to provide the probability of task completion within its deadline. The optimal number of checkpoints is selected so as to maximize the probability of task completion.

     

/

返回文章
返回