PushBox: Making Use of Every Bit of Time to Accelerate Completion of Data-Parallel Jobs
Chen Tian, Yi Wang, Bingchuan Tian, Yang Zhao, Yuhang Zhou, Chenxu Wang, Hao-Ran Guan, Wanchun Dou, Guihai Chen · IEEE Transactions on Parallel and Distributed Systems · 2022
To minimize a job's completion time, we need to minimize the completion time of its final stage's last task. Scheduling of machine slots and networks largely dominates the variable part of each task's duration. Finding an optimal schedule is NP-hard even for offline and simplified scenarios. Previous work does lead to improved performance with various strategies. State-of-the-art task placement and network scheduling efforts are largely disjunctive. Without joint optimization, they are sub-optimal and myopic in many scenarios. Task placement usually treats the network as a black box. Thus, we use prioritized bandwidth allocation among tasks making the network bothpredictableandefficientto achieve joint scheduling. With this feature, joint scheduling can be transformed into a specialbin-packing problem. Over this minimal yet power-enough abstraction, we propose PushBox to schedule data-parallel jobs in multi-tenant clusters. When designing the joint scheduling algorithm, we not only embrace the wisdom of prior art but also respect administrators’ fairness intent, which is so far largely ignored. We implement PushBox on Hadoop 3. PushBox performs persistently well on both a small testbed and a trace-driven simulator.