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 Fan | 1 | 60 | 5.01 |
Hai Jin | 2 | 6544 | 644.63 |
Liang Zhu | 3 | 4 | 1.44 |
Xiaofei Liao | 4 | 1145 | 120.57 |
Chencheng Ye | 5 | 9 | 3.82 |
Xuping Tu | 6 | 50 | 8.83 |