A dependency-aware task-based programming environment for multi-core architectures

JM Perez, RM Badia, J Labarta - 2008 IEEE international …, 2008 - ieeexplore.ieee.org
2008 IEEE international conference on cluster computing, 2008ieeexplore.ieee.org
Parallel programming on SMP and multi-core architectures is hard. In this paper we present
a programming model for those environments based on automatic function level parallelism
that strives to be easy, flexible, portable, and performant. Its main trait is its ability to exploit
task level parallelism by analyzing task dependencies at run time. We present the
programming environment in the context of algorithms from several domains and pinpoint its
benefits compared to other approaches. We discuss its execution model and its scheduler …
Parallel programming on SMP and multi-core architectures is hard. In this paper we present a programming model for those environments based on automatic function level parallelism that strives to be easy, flexible, portable, and performant. Its main trait is its ability to exploit task level parallelism by analyzing task dependencies at run time. We present the programming environment in the context of algorithms from several domains and pinpoint its benefits compared to other approaches. We discuss its execution model and its scheduler. Finally we analyze its performance and demonstrate that it offers reasonable performance without tuning, and that it can rival highly tuned libraries with minimal tuning effort.
ieeexplore.ieee.org