TY - JOUR A1 - Thamsen, Lauritz A1 - Beilharz, Jossekin Jakob A1 - Vinh Thuy Tran, A1 - Nedelkoski, Sasho A1 - Kao, Odej T1 - Mary, Hugo, and Hugo* BT - learning to schedule distributed data-parallel processing jobs on shared clusters JF - Concurrency and computation : practice & experience N2 - Distributed data-parallel processing systems like MapReduce, Spark, and Flink are popular for analyzing large datasets using cluster resources. Resource management systems like YARN or Mesos in turn allow multiple data-parallel processing jobs to share cluster resources in temporary containers. Often, the containers do not isolate resource usage to achieve high degrees of overall resource utilization despite overprovisioning and the often fluctuating utilization of specific jobs. However, some combinations of jobs utilize resources better and interfere less with each other when running on the same shared nodes than others. This article presents an approach for improving the resource utilization and job throughput when scheduling recurring distributed data-parallel processing jobs in shared clusters. The approach is based on reinforcement learning and a measure of co-location goodness to have cluster schedulers learn over time which jobs are best executed together on shared resources. We evaluated this approach over the last years with three prototype schedulers that build on each other: Mary, Hugo, and Hugo*. For the evaluation we used exemplary Flink and Spark jobs from different application domains and clusters of commodity nodes managed by YARN. The results of these experiments show that our approach can increase resource utilization and job throughput significantly. KW - cluster resource management KW - distributed data-parallel processing KW - job KW - co-location KW - reinforcement learning KW - self-learning scheduler Y1 - 2020 U6 - https://doi.org/10.1002/cpe.5823 SN - 1532-0626 SN - 1532-0634 VL - 33 IS - 18 PB - Wiley CY - Hoboken ER -