论文部分内容阅读
多处理器实时容错调度算法是重要的实时系统可靠性保障技术,算法效率对于实时系统的整体性能具有重要影响,调度算法因而成为实时系统的热点研究问题。本文在多处理器实时容错调度算法已有理论的基础上,深入分析了当前实时容错调度算法的相关特点和存在问题,以提高系统可调度性、可靠性和稳定性为目标,提出了新的实时容错调度算法。
多处理器实时容错调度算法的设计基础是任务模型。本文对几种主流任务模型的主要特点、存在问题以及创新方向进行了分析讨论,包括周期任务模型、DAG图、Multi-frame模型、循环分枝法、循环任务模型等。多处理器实时容错调度算法的周期任务模型分为可变量的周期任务模型和不变量的周期任务模型,主要有六种不同的任务类型,分别适应不同的应用场景;为了更好地描述周期任务模型,提出了周期任务模型的统一模型。不同的任务模型适用于不同的应用领域,并为相应的调度算法提供形式化建模工具,从而使得调度算法达到最优化的效果。任务模型在实际应用中存在着表达能力不强、与实际结合不够紧密的缺点,从而使得其应用价值未能得到充分体现,因而需要根据不同应用领域的特点,设计开发出适合特定领域调度算法的任务模型,提高调度算法效率和系统可靠性。
多处理器实时容错调度算法主要包括非周期任务实时容错调度算法、周期任务实时容错调度算法和混合任务实时容错调度算法。本文针对非周期任务的实时容错调度,结合重叠调度和动态分组两种技术的优点,提出了基于分组的混合重叠多处理器实时容错调度算法DG_PB-BB,该算法给出了混合重叠容错调度技术中处理器动态分组的形式化描述,提出了基于重叠任务链进行处理器动态分组的方法,并对重叠任务链所包含的任务数进行扩充,采用处理器动态分组策略提高调度算法的处理器容错级别。此外,本文提出了一种面向非周期任务的实时多处理器分组容错调度算法FTSAGM,该算法在多处理器分组策略基础上确定待调度任务的主副版本备份形式,并对主副并发与主副重叠的任务版本采用改进的Spring算法完成调度,主副互斥的任务版本采用混合重叠的AP因子策略优化调度,使得非周期任务的容错调度效率有了显著提高,能够更好地适应特定应用环境的任务处理。
为了进一步提高周期任务实时容错调度算法的调度效率和容错性能,本文提出了改进的周期任务分组实时容错调度算法ITPFTRM。该算法采用了“最佳适应策略”分配满足可调度性条件的最佳处理器给待调度任务,以少量增加的计算时间获得更为紧凑的任务调度结果,从而减少调度所需的处理器数目和任务执行时间,提高容错调度算法性能;算法同时给出了不同的处理器分组中周期任务可调度性判定的简化方法,以便于更好地描述周期任务分组调度的“最佳适应策略”。传统的基于遗传算法的周期任务多处理器实时容错调度算法的性能指标只关注了算法的调度效率,未能考虑处理器的负载均衡目标,难以维持整个系统的稳定运行,本文提出了周期任务的智能分组实时容错调度算法IFTSAG,该算法综合考虑了任务调度效率和处理器负载均衡两个性能指标,使得系统平台在保证任务调度成功率的同时,能够更加稳定地运行,从而提高系统可用性和可靠性。
在实际应用环境中,包含周期任务和非周期任务的混合任务更为常见,周期任务均为常规任务,一般可以离线调度,非周期任务为非常规任务,一般应在任务到达的时候,与其它已调度任务共同完成调度。周期和非周期混合任务调度的目的就是保证强时间约束的周期和非周期任务在最坏情况下的可调度性,并尽量提高弱时间约束或非实时约束的非周期任务的平均响应时间。混合任务实时容错调度算法已提出了很多,主要包括后台调度法、周期服务器法和空闲时间片法。混合任务实时容错调度算法HFTSAM基于改进的周期任务分组实时容错调度算法ITPFTRM,在处理器的空闲时间片内分组插空调度非周期任务,以较低的算法代价达到了较高的调度效率,容易理解,实现简单,具有较好的应用价值。
本文针对多处理器实时任务容错调度算法,利用分组调度和主副版本备份技术,在非周期任务实时容错调度算法中有效地提高了任务调度效率和处理器容错级别,在周期任务实时容错调度算法中显著地改善了系统稳定性和任务调度性能,使得混合任务实时容错调度算法HFTSAM能够更好地适应特定环境的实际需要,更为有效地完成任务调度。