DocumentCode :
1878241
Title :
Loop level speculation in a task based programming model
Author :
Gayatri, Rahulkumar ; Badia, R.M. ; Aygaude, Eduard
Author_Institution :
Barcelona Supercomput. Center, Barcelona, Spain
fYear :
2013
fDate :
18-21 Dec. 2013
Firstpage :
39
Lastpage :
48
Abstract :
Uncountable loops (such as while loops in C) and if-conditions are some of the most common constructs in programming. While-loops are widely used to determine the convergence in linear algebra algorithms or goal finding problems from graph algorithms, to name a few. In general while-loops are used whenever the loop iteration space, the number of iterations a loop executes is unknown. Usually in while-loops, the execution of the next iteration is decided inside the current loop iteration (i.e. the execution of iteration i depends on the values computed in iteration i-1). This precludes their parallel execution in today´s ubiquitous multi-core architectures. In this paper a technique to speculatively create parallel tasks from the next iterations before the current one completes is proposed. If consecutive loop-iterations are only control dependent, then multiple iterations can be executed simultaneously; later in the execution path, the runtime system will decide to either commit the results of such speculatively executed iterations or undo the changes made by them. Data dependences within or between non-speculative and speculative work are honored to guarantee correctness. The proposed technique is implemented in SMPSs, a task-based dataflow programming model for shared-memory multiprocessor architectures. The approach is evaluated on a set of applications from graph algorithms and linear algebra. Results are promising with an average increase in the speedup of 1.2x with 16 threads when compared to non speculative execution of the applications. The increase in the speedup is significant, since the performance gain is achieved over an already parallelized version of the benchmarks.
Keywords :
graph theory; linear algebra; parallel programming; graph algorithms; linear algebra algorithms; loop iteration space; loop level speculation; parallel execution; task based programming model; task-based dataflow programming model; ubiquitous multicore architectures; Cascading style sheets; Computer architecture; Instruction sets; Parallel processing; Programming; Runtime; Synchronization; Iteration space; Programming Models; SMPSs; Speculation;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
High Performance Computing (HiPC), 2013 20th International Conference on
Conference_Location :
Bangalore
Type :
conf
DOI :
10.1109/HiPC.2013.6799132
Filename :
6799132
Link To Document :
بازگشت