UPMARC Workshop on Task-Based Parallel Programming
The Swan Approach to Task Dataflow-Style Execution
Hans Vandierendonck, School of Electronics, Electrical Engineering and Computer Science, Queen's University Belfast, Northern Ireland.
Abstract. Task dataflow-style execution models assume that the programmer (in-)directly specifies parallel programs as directed acyclic graphs of tasks (DAGs). These DAGs are executed in parallel and scheduled on multiple processing cores automatically, freeing the programmer from solving many low-level problems related to scheduling and synchronization. Several research prototypes for task dataflow parallel programming have been proposed in the recent years, as evidenced by this workshop. In this talk, we will discuss the Swan runtime system supporting both recursive and task dataflow parallelism. Swan extends the Cilk language and scheduler, uses managed objects to ease inter-task dependency tracking and uses a low-overhead mechanism for inter-task dependency tracking reminiscent of ticket locks. Through its design, it shows good scalability and reaches linear speedup when tasks execute for 200 µsec or longer on a 48-core machine.