Programming Models Based on Data Versioning for Dependency-aware Task-based Parallelisation

Afshin Zafari, Martin Tillenius, Elisabeth Larsson · 2012

By using task-based programming models, application developers who are not necessarily experts in parallel programming get access to the potentially high performance of multi-core based computer systems. We have derived a family of task parallel programming models where data dependencies are represented through data versioning. Benefits of using this type of model are that it is easy to represent different types of dependencies and that scheduling decisions can be made locally. Experiments show that a thread parallel shared memory implementation as well as a hybrid thread/MPI distributed memory implementation scale well on a system with 64 cores. Comparing the hybrid implementation with a pure MPI version, the results are comparable for small numbers of cores, but for larger numbers of cores the gain of using the hybrid model is substantial.

Read the paper · More papers on PaperTik