کد مقاله | کد نشریه | سال انتشار | مقاله انگلیسی | نسخه تمام متن |
---|---|---|---|---|
432845 | 689089 | 2010 | 11 صفحه PDF | دانلود رایگان |
Many scientific applications can be structured as parallel task graphs (PTGs), that is, graphs of data-parallel tasks. Adding data parallelism to a task-parallel application provides opportunities for higher performance and scalability, but poses additional scheduling challenges. In this paper, we study the off-line scheduling of multiple PTGs on a single, homogeneous cluster. The objective is to optimize performance without compromising fairness among the PTGs. We consider the range of previously proposed scheduling algorithms applicable to this problem, from both the applied and the theoretical literature, and we propose minor improvements when possible. Our main contribution is an extensive evaluation of these algorithms in simulation, using both synthetic and real-world application configurations, using two different metrics for performance and one metric for fairness. We identify a handful of algorithms that provide good trade-offs when considering all these metrics. The best algorithm overall is one that structures the schedule as a sequence of phases of increasing duration based on a makespan guarantee produced by an approximation algorithm.
Research highlights
► Several parallel task graph scheduling algorithms can be extended to schedule batches of such graphs, aiming for both high performance and high fairness.
► Among the 19 algorithms evaluated in simulation, the best one computes allocations using an existing guaranteed algorithm and builds the schedule as a sequence of “shelves”.
► A simpler algorithm achieves relatively good performance and may be appropriate in practice for large problem instances.
Journal: Journal of Parallel and Distributed Computing - Volume 70, Issue 12, December 2010, Pages 1193–1203