  Scheduling job flows efficiently and rapidly on distributed computing
clusters is one of huge challenges for daily operation of data centers. In a
practical scenario, a single job consists of numerous stages with complex
dependency relation represented as a Directed Acyclic Graph (DAG) structure.
Nowadays a data center usually equips with a cluster of heterogeneous computing
servers which are different in the hardware/software configuration. From both
the cost saving and environmental friendliness, the data centers could benefit
a lot from optimizing the job scheduling problems in the heterogeneous
environment. Thus the problem has attracted more and more attention from both
the industry and academy. In this paper, we propose a task-duplication based
learning algorithm, namely \lachesis \footnote{The second of the Three Fates in
ancient Greek mythology, who determines destiny.}, aiming to optimize the
problem. In the proposed approach, it first perceives the topological
dependencies between jobs using a reinforcement learning framework and a
specially designed graph neural network (GNN) to select the most promising task
to be executed. Then the task is assigned to a specific executor with the
consideration of duplicating all its precedent tasks according to an
expert-designed rules. We have conducted extensive experiments over standard
workloads to evaluate the proposed solution. The experimental results suggest
that \lachesisquad can achieve at most 26.7\% reduction of makespan and 35.2\%
improvement of speedup ratio over seven strong baseline algorithms, including
the state-of-the-art heuristics methods and a variety of deep reinforcement
learning based algorithms.
