Abstract

Efficient application scheduling is critical for achieving high performance in heterogeneous computing environments. For heterogeneous static scheduling problems, applications with a set of distributed tasks are modeled as directed acyclic graphs (DAG). The goal of scheduling is to properly allocate processors to DAG nodes and minimize the average completion time of all DAG applications. Most existing scheduling algorithms cannot fully utilize scheduling information, and are designed to schedule one DAG application at a time. Therefore, this study proposes a scheduling algorithm based on reinforcement learning for heterogeneous computing environments. A convolutional neural network with graph attention is first used to fully process and encode the scheduling information. Then, a fully connected neural network selects an appropriate node from the DAG applications for execution. Finally, a heuristic method is employed to allocate a processor to the selected node based on the earliest finish time and node duplication. This process is then repeated for every DAG node. The proximal policy optimization algorithm is used to tune all network hyperparameters. The training phase employs a reward function suitable for multi-DAG scheduling to ensure optimal performance when multiple DAG applications are scheduled concurrently. Experiments of various scheduling scenarios and types of applications were conducted, and the results show that the proposed algorithm reduces the average termination time of applications by 13.03% over that of existing algorithms.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call