Task-based programming model has emerged as an alternative to the process-centric model of computation in distributed memory. In this model, an application is a collection of tasks with dependencies between these tasks. The tasks in an application can be executed in any order, as long as the dependency relations between the tasks are maintained. This projects investigates the impact of distributed work-stealing in PaRSEC. PaRSEC is task-based dataflow runtime.

Compute power in most HPC compute nodes today are derived from accelerated devices. The performance of a task-based application will depend on how the tasks are mapped to the different accelerated devices available in a node. In this project, we investigate how task migration between accelerated devices in a node can be used to improve the performance of an application. We implement this inter-device task migration in PaRSEC, which is a task-based dataflow runtime.