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