DocumentCode :
3457261
Title :
Exploiting Parallelism with Dependence-Aware Scheduling
Author :
Xiaotong Zhuang ; Eichenberger, A.E. ; Yangchun Luo ; O´Brien, Kevin ; O´Brien, Kevin
Author_Institution :
IBM TJ. Watson Res. Center, Yorktown Heights, NY, USA
fYear :
2009
fDate :
12-16 Sept. 2009
Firstpage :
193
Lastpage :
202
Abstract :
It is well known that a large fraction of applications cannot be parallelized at compile time due to unpredictable data dependences such as indirect memory accesses and/or memory accesses guarded by data-dependent conditional statements. A significant body of prior work attempts to parallelize such applications using runtime data-dependence analysis and scheduling. Performance is highly dependent on the ratio of the dependence analysis overheads with respect to the actual amount of parallelism available in the code. We have found that the overheads are often high and the available parallelism is often low when evaluating applications on a modern multicore processor. We propose a novel software-based approach called dependence-aware scheduling to parallelize loops with unknown data dependences. Unlike prior work, our main goal is to reduce the negative impact of dependence computation, such that when there is not an opportunity of getting speedup, the code can still run without much slowdown. If there is an opportunity, dependence-aware scheduling is able to yield very impressive speedup. Our results indicate that dependence-aware scheduling can greatly improve performance, with up to 4x speedups, for a number of computation intensive applications. Furthermore, the results also show negligible slowdowns in a stress test, where parallelism is continuously detected but not exploited.
Keywords :
parallelising compilers; scheduling; application parallelization; dependence-aware scheduling; runtime data-dependence analysis; software-based approach; Application software; Computer applications; Data analysis; Multicore processing; Parallel processing; Performance analysis; Processor scheduling; Runtime; Stress; Testing; Inspector/Executor; Multicore; Partial Parallelism; Runtime Dependence Analysis; Thread Scheduling;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Parallel Architectures and Compilation Techniques, 2009. PACT '09. 18th International Conference on
Conference_Location :
Raleigh, NC
ISSN :
1089-795X
Print_ISBN :
978-0-7695-3771-9
Type :
conf
DOI :
10.1109/PACT.2009.10
Filename :
5260538
Link To Document :
بازگشت