Scheduling computational tasks represented by directed acyclic graphs (DAGs) is challenging because of its complexity. Conventional scheduling algorithms rely heavily on simple heuristics such as shortest job first (SJF) and critical path (CP), and are often lacking in scheduling quality. In this paper, we present a novel learning-based approach to scheduling DAG tasks. The algorithm employs a reinforcement learning agent to iteratively add directed edges to the DAG, one at a time, to enforce ordering (i.e., priorities of execution and resource allocation) of "tricky" job nodes. By doing so, the original DAG scheduling problem is dramatically reduced to a much simpler proxy problem, on which heuristic scheduling algorithms such as SJF and CP can be efficiently improved. Our approach can be easily applied to any existing heuristic scheduling algorithms. On the benchmark dataset of TPC-H, we show that our learning based approach can significantly improve over popular heuristic algorithms and consistently achieves the best performance among several methods under a variety of settings.
翻译:由定向环形图(DAGs)代表的计算任务因其复杂性而具有挑战性。常规的排期算法严重依赖简单的超自然现象,例如最短的工作(SJF)和关键路径(CP),而且往往缺乏排期质量。在本文中,我们介绍了一种基于学习的新办法来安排DAG任务。该算法使用一个强化学习代理,将直接的边际反复添加到DAG中,一个时,以强制执行“三重”工作节点的订单(即执行和资源分配的优先次序)。通过这样做,原DAG的排期算法问题大大降低到一个简单得多的代理问题,在此问题上,SJF和CP等超自然现象的排期算法可以有效地改进。我们的方法可以很容易地适用于任何现有的超自然的排期算法。在TPC-H的基准数据集中,我们表明,我们的基于学习方法可以大大改进流行的超超超自然算法和在各种环境下的各种方法中取得最佳业绩。