论文部分内容阅读
目前实时系统在工业、商业和军事等领域有着非常广泛的用途,并且已经有很多实际的应用。随着计算机性能及网络技术的高速发展,大规模的实时应用(包括实时事务处理)已从以往的超级计算机转变为通过基于网络的分布式计算(Cluster计算,Grid计算等)来实现,例如并行信号处理、自动目标识别、实时MPEG编码等等。因此作为实时系统的核心内容:实时任务调度算法的研究对于实时系统在网络计算的普及推广将会产生重要的影响。 针对目前实时系统应用的日益广泛,以及网络计算技术的高速发展,从多种性能指标的角度出发,研究网络计算环境下实时任务调度算法的设计与实现。包括网络计算环境中静态任务调度算法,硬实时系统基于软件容错的动态调度算法的研究,网络计算环境中基于能量节约及容错的动态调度算法,基于挖掘具有时态限制数据语义的实时事务调度算法等方面。研究的目的旨在通过高质量的调度算法来实现实时任务的可调度性、容错可靠性、节能性等不同的性能指标。 首先提出基于组的混合调度算法,为实时任务调度算法提供基础。算法延伸TTIG(Temporary Task Interactive Graph)模型,克服了传统DAG(Directed Acyclic Graph)模型的固有缺陷。算法首先在遍历TTIG时,以组为单位尽可能地消除了TTIG中的图路,从任务图的整体上获取所有任务之间的依赖关系,因此可以采取DAG中的一些启发式方法对任务定序,并选择相应的处理器,以获得最小调度长度。算法由于综合了DAG与TTIG的优势,因而能同时有效地处理DAG及TTIG模型中任务调度问题,不仅适用于同构计算环境,也适合异构计算环境。 目前基于容错的实时调度算法大多针对硬件容错模型及非精确计算模型,而对软件容错考虑得较少。提出了两种新的类似EDF的软件容错的动态实时调度算法。算法以容错截止期作为任务优先权,在任务主部分执行过程中通过若干试探性检测步骤,提高了该任务主部分可执行性的预测,尽可能避免了任务主部分早期的失败对后续任务的影响,因此提高了任务主部分的完成率,并同时有效地减少了浪费的CPU时间片。同时,率先提出了网络计算环境下软件容错的动态调度算法,通过实验表明即使在网络计算环境,预测性算法对于调度性能依然能产生重要的积极影响。 目前现有的基于能量节约及容错的动态调度算法,调度成本较高,调度性能不太理想,同时在容错方面没有通过动态调度算法来提高调度质量。提出的调度算法针对网络计算环境,以执行时间最快的任务优先调度为基础,结合其它的有效技术(空闲时间回收,检查点技术及提出的GBHA策略),使得实时任务在其截止期内完成的同时能够有效地降低整个系统的能源消耗及动态容错。另外给出了容错的可行性条件、检查点数量的上限及初始速度的下限以降低调度成本。同时将算法扩展到多任务集合问题,结合了预测算法及压缩可用空闲时间等技术,在提高了调度性能的同时并能有效地降低整个系统的能源消耗。 目前基于挖掘具有时态限制数据语义的实时事务调度算法,对实时事务的周期性对后续事务的可调度性的影响没有充分考虑,因而影响了调度性能。提出了临时数据截止期的概念,采用与软件容错算法类似的预测策略,以定理的形式证明了低成本的预测算法的可行性。尽可能早地终止或推迟无法满足实时性要求的事务的执行,节省了计算资源以供其它事务执行,因而提高了事务的完成率。同时通过挖掘数据语义,利用数据相似性,结合预测算法,进一步提高了调度性能。 预测性策略贯穿于提出的各种实时任务调度算法,针对不同问题的具体特征,采用不同的方法以提高调度性能。