Skip to main content
QUICK REVIEW

[论文解读] A Case Study: Using Genetic Algorithm for Job Scheduling Problem

Burak Tağtekin, Mahiye Uluyağmur Öztürk|arXiv (Cornell University)|Jun 9, 2021
Distributed and Parallel Computing Systems参考文献 20被引用 5
一句话总结

本文提出一种基于遗传算法(GA)的方法,自动生成DevOps CI/CD流水线中的最优作业优先级列表与机器分配,以最小化完成时间和机器使用量。通过在自定义染色体表示中编码作业优先级和资源需求,并使用加权适应度函数,该方法在构建效率方面相比手动调度提升了20%。

ABSTRACT

Nowadays, DevOps pipelines of huge projects are getting more and more complex. Each job in the pipeline might need different requirements including specific hardware specifications and dependencies. To achieve minimal makespan, developers always apply as much machines as possible. Consequently, others may be stalled for waiting resource released. Minimizing the makespan of each job using a few resource is a challenging problem. In this study, it is aimed to 1) automatically determine the priority of jobs to reduce the waiting time in the line, 2) automatically allocate the machine resource to each job. In this work, the problem is formulated as a multi-objective optimization problem. We use GA algorithm to automatically determine job priorities and resource demand for minimizing individual makespan and resource usage. Finally, the experimental results show that our proposed priority list generation algorithm is more effective than current priority list producing method in the aspects of makespan and allocated machine count.

研究动机与目标

  • 自动化生成复杂DevOps流水线中的作业优先级列表,以减少等待时间与资源争用。
  • 最小化作业调度中的完成时间与所用机器数量,解决多目标优化挑战。
  • 开发一种新颖的染色体表示方法,同时编码作业优先级与特定机器需求(类型与数量)。
  • 通过引入一种快速、无死锁的优先级列表验证算法,提升GA的可扩展性与性能。
  • 通过使用保持作业顺序的有序交叉方法,提升交叉效率,减少计算时间。

提出的方法

  • 自定义染色体表示编码每个作业的作业优先级顺序及机器分配细节,包括机器类型与数量。
  • 加权适应度函数结合运行时间(按种群中最大运行时间加权)与机器数量(按最大机器数量加权),用于评估解决方案。
  • 适应度函数整合依赖约束,确保仅在所有依赖作业完成后才调度某作业。
  • 一种快速、迭代的优先级列表验证算法(算法3)通过将作业置于其最高优先级依赖前驱之后,确保无死锁。
  • 使用有序交叉方法生成后代,保持作业顺序,并通过从另一父代填充空缺基因避免重复。
  • 在三种场景下测试该算法:与基线运行时间对比基准测试、评估结果一致性,以及测量包含GA运行时间在内的总求解时间。

实验结果

研究问题

  • RQ1遗传算法能否有效最小化DevOps作业调度流水线中的完成时间与机器数量?
  • RQ2所提出的自动化优先级列表生成方法在运行时间与资源效率方面与手动调度相比表现如何?
  • RQ3一种结合作业顺序与机器分配的新型染色体表示对解的质量与收敛速度有何影响?
  • RQ4一种快速、无死锁的优先级列表验证算法是否能显著降低大规模调度问题中的计算开销?
  • RQ5使用有序交叉在多大程度上提升了遗传算法在作业调度中的效率与可扩展性?

主要发现

  • 所提出的基于GA的优先级列表生成方法,在真实世界CI/CD流水线中相比手动调度,平均完成时间减少了约20%。
  • 该算法在多次运行中持续产生接近最优的结果,表现出高度的可靠性与性能的低方差。
  • 第二个优先级列表验证算法(算法3)相比第一个版本快约30倍,使更大、更多样化的种群成为可能。
  • 即使包含GA计算时间,找到解决方案的总时间(完成时间 + GA运行时间)仍短于基线手动方法。
  • 与PMX相比,有序交叉显著减少了在包含400多个作业的大作业列表中交叉操作所花费的时间。
  • 染色体表示成功编码了作业依赖关系与特定机器需求,实现了对多项目标的高效优化。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。