StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures - Europar 2009

StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures - Europar 2009

Cédric Augonnet, Samuel Thibault, Raymond Namyst, and Pierre-André Wacrenier

Abstract. In the field of HPC, the current hardware trend is to design multiprocessor architectures that feature heterogeneous technologies such as specialized coprocessors (e.g., Cell/BE SPUs) or data-parallel accelerators (e.g., GPGPUs). Approaching the theoretical performance of these architectures is a complex is- sue. Indeed, substantial efforts have already been devoted to efficiently offload parts of the computations. However, designing an execution model that unifies all computing units and associated embedded memory remains a main challenge. We have thus designed STARPU, an original runtime system providing a high-level, unified execution model tightly coupled with an expressive data management library. The main goal of STARPU is to provide numerical kernel designers with a convenient way to generate parallel tasks over heterogeneous hardware on the one hand, and easily develop and tune powerful scheduling algorithms on the other hand.
We have developed several strategies that can be selected seamlessly at run time, and we have demonstrated their efficiency by analyzing the impact of those scheduling policies on several classical linear algebra algorithms that take advantage of multiple cores and GPUs at the same time. In addition to substantial improvements regarding execution times, we obtained consistent superlinear parallelism by actually exploiting the heterogeneous nature of the machine.
Download

Bibtex

@inproceedings{AugThiNamWac09Europar,
author = {C{'e}dric Augonnet and Samuel Thibault and Raymond Namyst and Pierre-Andr{'e} Wacrenier},
title = {{StarPU: A Unified Platform for Task Scheduling on Heterogeneous Multicore Architectures}},
booktitle = {Proceedings of the 15th International Euro-Par Conference, Lecture Notes in Computer Science},
year = 2009,
publisher = {Springer},
series = {Lecture Notes in Computer Science},
volume = 5704,
pages = {863--874},
address = {Delft, The Netherlands},
month = AUG,
keywords = {StarPU},
doi = {10.1007/978-3-642-03869-3_80},
url = {http://hal.inria.fr/inria-00384363}
}