DocumentCode :
1574490
Title :
The Flexible Preconditions Model for Macro-Dataflow Execution
Author :
Sbirlea, Dragos ; Sbirlea, Alina ; Wheeler, Kyle B. ; Sarkar, Vivek
fYear :
2013
Firstpage :
51
Lastpage :
58
Abstract :
In this paper, we propose the flexible preconditions model for macro-dataflow execution. Our approach unifies two current approaches for managing task dependences, eager execution vs. Strict preconditions. When one of the two outperforms the other, flexible preconditions can always attain, and possibly surpass, the performance of the better approach. This work focuses on the performance of parallel programming models based on macro-dataflow, in which applications are composed of tasks and inter-task dependences. Data-flow models usually make a choice between specifying the task dependences before task creation (as strict preconditions), or during task execution, when they are actually needed (eager execution). This paper shows how the choice between eager execution and strict preconditions affects the performance, memory consumption and expressiveness of macro-dataflow applications. The flexible preconditions model is sufficiently flexible to support both eager execution and strict preconditions, as well as hybrid combinations thereof. This capability enables programmers and future auto-tuning systems to pick the precondition combination that yields the best performance for a given application. The experimental evaluation was performed on a 32-core SMP, and is based on a new macro-dataflow implementation, QtCnC, that supports eager execution, strict preconditions and flexible preconditions in a single framework. (QtCnC is an implementation of the CnC model on the QThreads library.) For applications where all dependences are known ahead of time, flexible and strict preconditions execute up to 56% faster than eager execution (for the benchmarks and platform used in our study). On the other hand, for applications where the complete set of per-task dependences is determined after the tasks are spawned, flexible preconditions and eager execution perform up to 38% better than strict preconditions.
Keywords :
data flow computing; parallel programming; software libraries; 32-core SMP; CnC model; QThreads library; QtCnC; auto-tuning systems; data-flow models; flexible precondition model; macrodataflow execution; parallel programming models; task creation; task dependence management; task execution; Arrays; Benchmark testing; Computational modeling; Libraries; Memory management; Parallel processing; Runtime; dynamic scheduling; dynamic task DAG; macro-dataflow; task parallelism;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Data-Flow Execution Models for Extreme Scale Computing (DFM), 2013
Conference_Location :
Edinburgh
Type :
conf
DOI :
10.1109/DFM.2013.13
Filename :
6919196
Link To Document :
بازگشت