论文部分内容阅读
任务群计算(Many-Task Computing,MTC)是一种松耦合大规模并行计算模式,目的是在较短时间内完成大量相对简单、可独立调度的任务。在任务群计算这种计算模式下,人们可以基于已有应用程序开发更复杂的应用,满足大规模数据处理的需求。在异构资源系统上实现任务群计算,任务调度是一个关键因素。伴随着巨大的计算量,任务调度不可避免地存在时间限制,资源利用率等多方面的挑战。对于具有大量细粒度可独立调度任务的任务群计算,不适当的调度可能导致严重的资源浪费和效率恶化。同时在多用户多任务群的问题环境下,不同任务群也有不同的时间要求,不适当的调度将使得部分高优先级的任务群无法在合理的时间内完成。这使得优先级调度成为任务群计算的一个重要考虑,研究基于优先级的调度策略以提高计算性能具有重要的研究意义。 本文结合任务群与大规模异构系统的特点,提出对资源异构性的量化描述。在此基础上,设计了一个基于优先级的任务群与计算资源匹配策略,使得任务群的资源需求与计算资源的软硬件结构相互匹配,并且支持动态调整任务群中的优先级,以此优化资源利用率和满足任务群的时间限制。基于上述资源选择和任务分配策略,本文提出了基于优先级的任务群调度算法APS(Application-levelPriority Scheduling),实现对执行速度和资源开销的综合优化,同时缩短任务群的周转时间,提高系统的计算性能。为了高效而全面地实验评测,本文设计和实现了一个针对MTC调度的模拟器。利用该系统,本文进行了实验评测,验证了APS相比不同类型的调度算法对MTC调度具有明显的领先,综合优化并行速度与节约调度开销,同时也充分照顾到不同任务群的优先级差异,有效缩短任务群的平均周转时间。