Title
Function flow: making synchronization easier in task parallelism
Abstract
Expressing synchronization in task parallelism remains a significant challenge because of the complicated relationships between tasks. In this paper, we propose a novel parallel programming model, namely function flow, where synchronization is easier to express. We release the burden of synchronizing by the virtue of parallel functions and functional wait. In function flow, parallel functions are defined to represent parallel tasks. Functional wait is designed to coordinate relationships of parallel functions at task-level. The main aspects of functional waits are boolean-expressions which are coupled with parallel functions' invocations. The functional wait mechanisms, based on parallel functions, provide powerful semantic supports and compiling time checking on relationships of parallel tasks. Our preliminary result of function flow shows that a wide range of realistic parallel programs can be easily expressed with performance coming close to well-tuned multi-threaded programs using barriers/sync. The overhead of task-level coordination is very low, not exceed 8%.
Year
DOI
Venue
2012
10.1145/2141702.2141711
PMAM
Keywords
Field
DocType
functional wait mechanism,realistic parallel program,functional wait,task parallelism,function flow,novel parallel programming model,expressing synchronization,parallel function,task-level coordination,parallel task,complicated relationship,parallel programming,synchronization,parallel programming model
Parallel Extensions,Synchronization,Task parallelism,Computer science,Embarrassingly parallel,Parallel computing,Synchronizing,Flow (psychology),Parallel programming model,Bulk synchronous parallel,Distributed computing
Conference
Citations 
PageRank 
References 
2
0.37
10
Authors
6
Name
Order
Citations
PageRank
Xuepeng Fan1605.01
Hai Jin26544644.63
Liang Zhu341.44
Xiaofei Liao41145120.57
Chencheng Ye593.82
Xuping Tu6508.83