随着计算机应用的不断发展,实时系统的应用越来越广泛,并行计算也成为主流,同时,并行任务分配与调度算法成为并行计算系统的核心,直接影响到系统的整体性能,至今国内外专家已经相继提出了多种实时任务分配与调度算法,各有优缺点。本文提出一种动态实时的应用于消息中间件的并行任务分配与调度算法,以异构集群为基础结构,构建了一个动态实时任务并行执行的系统模型。本文算法为保证数据的安全性,稳定性和执行任务过程中抽取数据的快速性,采用数据分区的方式,将不同的数据分区副本放在多个子节点中,通过调度器对所有任务进行分配与调度。分配过程中综合考虑了任务的优先级和子节点的性能,计算任务优先级时考虑了任务的执行权重,任务的最大执行时间,任务的绝对截止期,任务对数据资源的需求等多个因素,评估子节点性能时主要考虑了子节点的性质类型,数据在子节点中的分布矩阵,平均计算速率等,在任务分配时最大程度的将任务分配给最适合的子节点,缩短了执行时间,并实现了异构集群模式下的任务动态分配与调度,使系统负载均衡。在子节点发生意外中断等情况时调度器可以重新对失败的任务进行二次调度,有效的提高了执行的成功率。仿真实验表明该算法比EDF算法和节约算法等在总的执行时间和成功率方面有很大提高,是一种高效、稳定、可靠的并行任务分配与调度算法。
本文来源: https://www.lw50.cn/article/343352297a39f25663cd711a.html