GCNScheduler: Scheduling Distributed Computing Applications using Graph Convolutional Networks
We consider the classical problem of scheduling task graphs corresponding to complex applications on distributed computing systems. A number of heuristics have been previously proposed to optimize task scheduling with respect to metrics such as makespan and throughput. However, they tend to be slow to run, particularly for larger problem instances, limiting their applicability in more dynamic systems. Motivated by the goal of solving these problems more rapidly, we propose, for the first time, a graph convolutional network-based scheduler (GCNScheduler). By carefully integrating an inter-task data dependency structure with network settings into an input graph and feeding it to an appropriate GCN, the GCNScheduler can efficiently schedule tasks of complex applications for a given objective. We evaluate our scheme with baselines through simulations. We show that not only can our scheme quickly and efficiently learn from existing scheduling schemes, but also it can easily be applied to large-scale settings where current scheduling schemes fail to handle. We show that it achieves better makespan than the classic HEFT algorithm, and almost the same throughput as throughput-oriented HEFT (TP-HEFT), while providing several orders of magnitude faster scheduling times in both cases. For example, for makespan minimization, GCNScheduler schedules 50-node task graphs in about 4 milliseconds while HEFT takes more than 1500 seconds; and for throughput maximization, GCNScheduler schedules 100-node task graphs in about 3.3 milliseconds, compared to about 6.9 seconds for TP-HEFT.
Code (0)
등록된 구현이 없습니다.
Tasks
Distributed ComputingSchedulingMethods 이 논문이 사용한 방법론
Similar Papers 제목 키워드 기반
A Survey on Dynamic Job Scheduling in Grid Environment Based on Heuristic Algorithms
Computational Grids are a new trend in distributed computing systems. They allow the sharing of geographically distributed resources in an efficient way, extending the boundaries of what we perceive as distributed comput…
CPUDistributed ComputingSchedulingA Deep Reinforcement Learning Approach to Multi-component Job Scheduling in Edge Computing
We are interested in the optimal scheduling of a collection of multi-component application jobs in an edge computing system that consists of geo-distributed edge computing nodes connected through a wide area network. The…
Deep Reinforcement LearningEdge-computingreinforcement-learningReinforcement Learning+2MCDS: AI Augmented Workflow Scheduling in Mobile Edge Cloud Computing Systems
Workflow scheduling is a long-studied problem in parallel and distributed computing (PDC), aiming to efficiently utilize compute resources to meet user's service requirements. Recently proposed scheduling methods leverag…
Cloud ComputingDistributed ComputingEdge-computingSchedulingEmpowering Computing and Networks Convergence System with Distributed Cooperative Routing
The emergence of intelligent applications and recent advances in the fields of computing and networks are driving the development of computing and networks convergence (CNC) system. However, existing researches failed to…
ManagementSchedulingA Multi-Agent System Approach to Load-Balancing and Resource Allocation for Distributed Computing
In this research we use a decentralized computing approach to allocate and schedule tasks on a massively distributed grid. Using emergent properties of multi-agent systems, the algorithm dynamically creates and dissociat…
CPUDistributed ComputingScheduling