DocumentCode
3644002
Title
Data-Driven Tasks and Their Implementation
Author
Sagnak Tasirlar;Vivek Sarkar
Author_Institution
Dept. of Comput. Sci., Rice Univ., Houston, TX, USA
fYear
2011
Firstpage
652
Lastpage
661
Abstract
Dynamic task parallelism has been identified as a prerequisite for improving productivity and performance on future many-core processors. In dynamic task parallelism, computations are created dynamically and the runtime scheduler is responsible for scheduling the computations across processor cores. The sets of task graphs that can be supported by a dynamic scheduler depend on the underlying task primitives in the parallel programming model, with various classes of fork-join structures used most often in practice. However, many researchers have advocated the benefits of more general task graph structures, and have shown that the use of these task graph structures can lead to improved performance. In this paper, we propose an extension to task parallelism called Data-Driven Tasks (DDTs) that can be used to create arbitrary task graph structures. Unlike a normal task that starts execution upon creation, a DDT specifies its input constraints in an await clause containing a list of Data-Driven Futures (DDFs). A DDF can be viewed as a container with a full/empty state that obeys a dynamic single-assignment rule. The runtime scheduler will then ensure that a task is only scheduled when all the DDFs in its await clause become available (full). There is no constraint on which task performs a put() operation on a DDF. We describe five scheduling algorithms (Coarse-Grain Blocking, Fine-Grain Blocking, Delayed Async, Rollback & Replay, Data-Driven) that can be used to implement DDTs, and include performance evaluations of these five algorithms on a variety of benchmark programs and multi-core platforms. Our results show that the Data-Driven scheduler is the best approach for implementing DDTs, both from the viewpoints of memory efficiency and scalable parallelism.
Keywords
"Parallel processing","Synchronization","Java","Runtime","Dynamic scheduling","Program processors","Containers"
Publisher
ieee
Conference_Titel
Parallel Processing (ICPP), 2011 International Conference on
ISSN
0190-3918
Print_ISBN
978-1-4577-1336-1
Type
conf
DOI
10.1109/ICPP.2011.87
Filename
6047233
Link To Document