UPMARC Workshop on Task-Based Parallel Programming
SuperGlue and DuctTEiP: Using data versioning for dependency-aware task-based parallelization
Elisabeth Larsson, UPMARC.
Abstract. This talk presents the task-based frameworks we have developed within UPMARC, and the design choices and trade-offs we have made.
SuperGlue is a library for managing dependencies between tasks and a run-time system to execute tasks in parallel while respecting these dependencies. The aim is to support fine-grained parallelism and induce as low overhead as possible for dependency management and synchronization. Dependencies are represented by having the tasks require a certain version of the data they need, and are managed locally with no central view of the system. By queuing tasks whose dependencies are not fulfilled at the data they are waiting for, we get a data locality driven scheduling of the tasks.
DuctTEiP is a task-based framework that we are currently developing to generalize the dependency management from SuperGlue to distributed memory systems. We take a hybrid approach where we use SuperGlue to fix the details within a multicore node and then employ DuctTEiP to tie the whole cluster together.