容错是硬实时系统的关键能力,容错调度算法可以在有错误发生的情况下满足任务的实时性需求.在主副版本机制的容错调度算法中,主版本出错后留给副版本运行的时间窗口小,副版本容易错失截止期.针对副版本需要快速响应的问题,提出副版本不可抢占的全局容错调度算法FTGS-NPB(fault-tolerant global scheduling with non-preemptive backups),赋予副版本全局最高优先级,使副版本在主版本出错后可以立刻获得处理器资源,并且在运行过程中不会被其他任务抢占.这样,副版本可以在最短时间内响应.分别基于截止期分析和响应时间分析建立了FTGS-NPB的可调度性测试,并分析了两种可调度性测试分别适用于不同的优先级分配算法.仿真实验结果表明,FTGS-NPB可以有效地减少实现容错的代价.
针对多处理器硬实时系统运行过程中任务出错问题,提出一种基于主副版本策略的固定优先级全局容错调度算法FTGS-BD(fault tolerant global scheduling with backup delay)。该算法使用主动副版本和被动副版本,在保证实时性的前提下根据任务需求和硬件性能尽可能的推迟主动副版本的运行,并在不需要副版本响应时回收分配给副版本的资源,从而减少实现容错所需的代价。仿真结果表明,和仅使用被动副版本的全局容错调度算法相比,在调度相同的任务集时,FTGS-BD最多可以减少20%的处理器资源需求,平均减少12%。FTGS-BD能够应用于主副版本总使用率最大值大于1的任务集。
在主副版本机制的全局容错调度中,副版本运行窗口短,采用优先级继承策略的副版本响应时间长,容易错失截止期.针对副版本实时性差的问题,提出基于优先级提升策略的全局容错调度算法(fault tolerant global scheduling with backup priority promotion,FTGS-BPP),通过赋予副版本比主版本高的优先级,减少副版本在运行过程中受到的干扰,缩短了副版本的响应时间,改善了副版本的实时性,从而减少了实现容错所需的额外处理器资源.仿真结果表明,和采用优先级继承策略的全局容错调度算法相比,FTGS-BPP在调度相同的任务集时明显降低了处理器资源需求.