The Recursive LRPD Test
Description
The original LRPD test worked well for fully parallel loops. However, partially parallel loops would have a slowdown equal to the speculative parallel execution time. For loops which were presumed to be partially parallel, we have developed an inspector/executor technique. The major disadvantages are that this method may require large additional data structures and a proper side-effect free inspector is not always available.
We propose to transform a partially parallel loop into a sequence of fully parallel loops. We use a block-scheduled processor-wise version of the original LRPD test. All iterations before the sink of the first data dependence executed correctly and are committed. Then, the LRPD test is reapplied in the same manner on the remaining iterations. The following picture describes the Recursive LRPD (R-LRPD) algorithm.
R-LRPD Algorithm
The worst case for this method is that the total time is proportional to the sequential time plus the testing overhead. Thus, we can use apply the same method for both fully and partially parallel loops.
We have also used the following optimizations in conjunction with the R-LRPD test:
Work Redistribution Illustration
Experimental Results
We have applied the R-LRPD test to the most important loops in TRACK, a PERFECT benchmark. Also, we have created several inputs to vary the degree of parallelism.
TRACK Program Speedup | NLFILT Optimization Contributions |
EXTEND_do400 Speedup | FPTRAK_do300 Speedup |
NLFILT_do300 Speedup
Publications
The R-LRPD Test: Speculative Parallelization of Partially Parallel Loops, Francis Dang, Hao Yu, Lawrence Rauchwerger, In Proc. Int. Par. and Dist.
Proc. Symp. (IPDPS), Fort Lauderdale, FL, Apr 2002. Also, Technical Report, TR02-001, Department of Computer Science and Engineering, Texas A&M University, College Station, TX, Jan 2002.
Proceedings(ps, pdf, abstract) Technical Report(ps, pdf, abstract)
Speculative Parallelization of Partially Parallel Loops, Francis Dang, Lawrence Rauchwerger, In Wkshp. on Lang. Comp. and Run-time Sys. for Scal. Comp. (LCR)., Rochester, New York, USA, May 2000.
Proceedings(ps, pdf, abstract)
Presentations
The R-LRPD Test: Speculative
Parallelization of Partially Parallel Loops,
in Proc. of the 16th International Parallel and Distributed Processing
Symposium (IPDPS '02)
April 2002, Fort Lauderdale, Florida.
by Francis Dang