● 摘要
多集群是一种重要的高性能计算的体系结构。当多集群计算系统越来越普遍时,有效利用多集群中计算资源的技术就变得日益重要,其中最重要的一个方面就是作业调度。多集群的作业调度大致可分为单址协同与多址协同(即协同分配)两类。单址协同算法允许作业在多集群内选择不同集群运行,但是作业运行不能跨越集群边界。协同分配算法取消了作业运行不能跨越集群边界的限制,允许一个并行作业的不同部分并发运行于多个集群中。协同分配有助于降低作业的响应时间和突破封闭集群资源数目的限制。为了研究影响协同分配性能的因素,本文对并行作业的运行性能进行了深入分析,建立了并行作业的运行时间模型,其中,计算时间和通信时间是两个最重要的部分。通过研究发现,异构多集群环境中异构因子对作业的计算时间影响很大;网络链路的拥塞会延长作业的通信时间;跨域通信环境中的外部节点也会对作业的通信时间产生影响。所以,在进行作业的协同分配调度时需要考虑这三个因素。然而,当前的协同分配调度策略未考虑或只考虑了其中的一个因素,存在着一定的局限性:有的假设所有集群均为同构,在异构性方面有所欠缺;有的在建立多集群的作业运行模型时均采用静态模型刻画作业通信时间,未考虑网络传输产生拥塞时作业执行时间的变化,缺乏网络动态变化的意识。因此,本文设计了几种协同分配的启发式调度策略,其中异构因子分组策略将影响作业运行的因素进行了综合考虑。为了验证调度算法的有效性,需要进行仿真实验以评价算法的性能。然而现在的仿真工具有一定的局限,不能仿真动态变化的作业的执行时间,所以,本文设计与实现了一个离散事件仿真工具,并利用这个仿真工具进行了仿真实验。实验结果表明,本文提出的块算法和异构因子分组算法在作业的协同分配中具有很好的性能。最后,本文结合上述的研究成果,基于PBS设计并实现了支持协同分配的多集群作业管理系统。