Learning scheduling algorithms for data processing clusters

© 2019 Association for Computing Machinery. Efficiently scheduling data processing jobs on distributed compute clusters requires complex algorithms. Current systems use simple, generalized heuristics and ignore workload characteristics, since developing and tuning a scheduling policy for each worklo...

Full description

Bibliographic Details
Main Authors: Mao, Hongzi, Schwarzkopf, Malte, Venkatakrishnan, Shaileshh Bojja, Meng, Zili, Alizadeh, Mohammad
Other Authors: Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Format: Article
Language:English
Published: Association for Computing Machinery (ACM) 2021
Online Access:https://hdl.handle.net/1721.1/137428
_version_ 1826209451878645760
author Mao, Hongzi
Schwarzkopf, Malte
Venkatakrishnan, Shaileshh Bojja
Meng, Zili
Alizadeh, Mohammad
author2 Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
author_facet Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
Mao, Hongzi
Schwarzkopf, Malte
Venkatakrishnan, Shaileshh Bojja
Meng, Zili
Alizadeh, Mohammad
author_sort Mao, Hongzi
collection MIT
description © 2019 Association for Computing Machinery. Efficiently scheduling data processing jobs on distributed compute clusters requires complex algorithms. Current systems use simple, generalized heuristics and ignore workload characteristics, since developing and tuning a scheduling policy for each workload is infeasible. In this paper, we showthat modern machine learning techniques can generate highly-efficient policies automatically. Decima uses reinforcement learning (RL) and neural networks to learn workload-specific scheduling algorithms without any human instruction beyond a high-level objective, such as minimizing average job completion time. However, off-the-shelf RL techniques cannot handle the complexity and scale of the scheduling problem. To build Decima, we had to develop new representations for jobs' dependency graphs, design scalable RL models, and invent RL training methods for dealing with continuous stochastic job arrivals. Our prototype integration with Spark on a 25-node cluster shows that Decima improves average job completion time by at least 21% over hand-tuned scheduling heuristics, achieving up to 2× improvement during periods of high cluster load.
first_indexed 2024-09-23T14:22:43Z
format Article
id mit-1721.1/137428
institution Massachusetts Institute of Technology
language English
last_indexed 2024-09-23T14:22:43Z
publishDate 2021
publisher Association for Computing Machinery (ACM)
record_format dspace
spelling mit-1721.1/1374282023-07-28T17:44:39Z Learning scheduling algorithms for data processing clusters Mao, Hongzi Schwarzkopf, Malte Venkatakrishnan, Shaileshh Bojja Meng, Zili Alizadeh, Mohammad Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory © 2019 Association for Computing Machinery. Efficiently scheduling data processing jobs on distributed compute clusters requires complex algorithms. Current systems use simple, generalized heuristics and ignore workload characteristics, since developing and tuning a scheduling policy for each workload is infeasible. In this paper, we showthat modern machine learning techniques can generate highly-efficient policies automatically. Decima uses reinforcement learning (RL) and neural networks to learn workload-specific scheduling algorithms without any human instruction beyond a high-level objective, such as minimizing average job completion time. However, off-the-shelf RL techniques cannot handle the complexity and scale of the scheduling problem. To build Decima, we had to develop new representations for jobs' dependency graphs, design scalable RL models, and invent RL training methods for dealing with continuous stochastic job arrivals. Our prototype integration with Spark on a 25-node cluster shows that Decima improves average job completion time by at least 21% over hand-tuned scheduling heuristics, achieving up to 2× improvement during periods of high cluster load. 2021-11-05T11:54:21Z 2021-11-05T11:54:21Z 2019-08 2020-11-23T19:02:38Z Article http://purl.org/eprint/type/ConferencePaper https://hdl.handle.net/1721.1/137428 Mao, Hongzi, Schwarzkopf, Malte, Venkatakrishnan, Shaileshh Bojja, Meng, Zili and Alizadeh, Mohammad. 2019. "Learning scheduling algorithms for data processing clusters." SIGCOMM 2019 - Proceedings of the 2019 Conference of the ACM Special Interest Group on Data Communication. en 10.1145/3341302.3342080 SIGCOMM 2019 - Proceedings of the 2019 Conference of the ACM Special Interest Group on Data Communication Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/ application/pdf Association for Computing Machinery (ACM) MIT web domain
spellingShingle Mao, Hongzi
Schwarzkopf, Malte
Venkatakrishnan, Shaileshh Bojja
Meng, Zili
Alizadeh, Mohammad
Learning scheduling algorithms for data processing clusters
title Learning scheduling algorithms for data processing clusters
title_full Learning scheduling algorithms for data processing clusters
title_fullStr Learning scheduling algorithms for data processing clusters
title_full_unstemmed Learning scheduling algorithms for data processing clusters
title_short Learning scheduling algorithms for data processing clusters
title_sort learning scheduling algorithms for data processing clusters
url https://hdl.handle.net/1721.1/137428
work_keys_str_mv AT maohongzi learningschedulingalgorithmsfordataprocessingclusters
AT schwarzkopfmalte learningschedulingalgorithmsfordataprocessingclusters
AT venkatakrishnanshaileshhbojja learningschedulingalgorithmsfordataprocessingclusters
AT mengzili learningschedulingalgorithmsfordataprocessingclusters
AT alizadehmohammad learningschedulingalgorithmsfordataprocessingclusters