论文部分内容阅读
在过去几十年中,异构系统已广泛用于科学和商业之中。近年来,很多学者致力于研究异构系统中以提高应用程序性能为目的的调度算法。调度理论中的基本假设是所有机器总是可用来处理任务的。这个假设可能在某些情况下是合理的,但当存在某种维护要求、中断或其他机器无法处理的限制等这些使机器不可用来处理任务的情况时,它并不是有效的,而这些约束因素实际存在于许多应用之中。在本文中,可用性定义为一个计算节点在某一给定的时间间隔内运行的时间占总时间的比例。现在许多高效能的应用都需要具有高可用性的计算平台,如军事应用、医疗应用和国际商业应用等都需要非常高可用性的服务,因为只要有一个计算节点不可用都有可能导致严重故障或致命错误。因此,为了处理维护活动和意外失败等情况,异构系统的调度策略必须考虑到可用性因素。为了解决这些问题,本文在对计算机系统可用性进行深入研究的基础上提出了一个基于可用性的异构系统的任务调度模型,分析了模型的可行性并提出了对抢占式任务的调度问题,通过对现有算法SSAC( Scheduling Strategy for multiple classes of tasks with Availability Constraints)的改进提出了一种基于可用性、支持多优先级的抢占式任务调度算法P-SSAC,并建立了负载平衡探测机制,对可用性的现实应用进行了扩展。该算法具有与现有算法近似的性能,但其可以工作在抢占模式下,且能保持可用性和响应能力之间一个良好的平衡,提高了任务的调度成功率。在仿真实验部分,通过GridSim模拟器构造了一个含有十六个节点的异构系统,启用基于可用性的抢占式任务调度算法P-SSAC,通过新算法与几个经典的算法的实验结果的比较,表明P-SSAC算法显著提高了系统的可用性,原因在于它在分配任务给异构结点的过程中考虑了任务的可用性需求。