论文部分内容阅读
任务群计算(Many-Task Computing,MTC)是广泛应用于科学计算领域中的一种重要的计算模式,用于对松耦合大规模的科学计算任务进行求解。该计算模式下,一个复杂的问题可以被表达为一个包含大量可以独立调度且需求同构的任务的任务群,因而适于在大规模处理系统上执行。对于一些MTC应用而言,任务在执行过程中需要大规模数据资源的支持,此类应用的任务执行过程中会对数据资源所在的存储资源造成严重的访问竞争,这使得数据资源的访问效率成为了影响MTC任务执行效率的关键因素。本文研究的主要问题,是在MTC中设计数据资源的访问策略,以提高大规模数据资源的并发访问效率,并在此基础上设计面向MTC的任务调度策略,使其能够在优化数据资源访问效率的同时兼顾调度效率与计算资源利用率的优化。 本文首先针对数据依赖型任务的数据资源访问特点,通过数据资源副本缓存、并发访问控制和传输成本估算等技术设计了数据资源访问策略,能够有效缓解IO瓶颈。在此基础上,本文设计了面向MTC的任务调度算法——ALSCD算法,能够在优化数据访问的同时兼顾调度效率与计算资源利用率的优化:通过引入“应用级”调度的思想和“全局重要度”优化了调度效率;通过运行环境复用、任务打包以及计算资源并发利用设计了一个任务分配执行策略,以提高计算资源利用率。该算法能够有效地对多个不同应用类型(包括:数据依赖型与数据独立型)的任务群作业中的任务进行有效地调度。 为了能够对调度算法进行有效的评测,本文基于离散事件模拟器Simjava构建了模拟实验。与传统调度算法的对比实验显示,ALSCD在计算性能、资源利用率方面均可以得到更好的结果。这证明了本文所做工作的有效性。