Double Inspection for Run-Time Loop Parallelization
Author(s): Philippsen M, Tilmann N, Brinkers D
Editor(s): Sanjay Rajopadhye, Michelle Mills Strout
Publishing place: Berlin Heidelberg
Publication year: 2013
Title of series: Lecture Notes in Computer Science (LNCS)
Conference Proceedings Title: Languages and Compilers for Parallel Computing, 24th International Workshop, LCPC 2011
Pages range: 46-60
Event: 24th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2011)
Event location: Fort Collins, CO, USA
Start date of the event: 08/09/2011
End date of the event: 10/09/2011
The Inspector/Executor is well-known for parallelizing loops with irregular access patterns that cannot be analyzed statically. The downsides of existing inspectors are that it is hard to amortize their high run-time overheads by actually executing the loop in parallel, that they can only be applied to loops with dependencies that do not change during their execution and that they are often specifically designed for array codes and are in general not applicable in object oriented just-in-time compilation. In this paper we present an inspector that inspects a loop twice to detect if it is fully parallelizable. It works for arbitrary memory access patterns, is conservative as it notices if changing data dependencies would cause errors in a potential parallel execution, and most importantly, as it is designed for current multicore architectures it is fast - despite of its double inspection effort: it pays off at its first use. On benchmarks we can amortize the inspection overhead and outperform the sequential version from 2 or 3 cores onward. © 2013 Springer-Verlag.
FAU Authors / FAU Editors Focus Area of Individual Faculties FAU Key Research Priorities How to cite
APA: Philippsen, M., Tilmann, N., & Brinkers, D. (2013). Double Inspection for Run-Time Loop Parallelization. In Sanjay Rajopadhye, Michelle Mills Strout (Eds.), Languages and Compilers for Parallel Computing, 24th International Workshop, LCPC 2011 (pp. 46-60). Berlin Heidelberg: Springer.
MLA: Philippsen, Michael, Nikolai Tilmann, and Daniel Brinkers. "Double Inspection for Run-Time Loop Parallelization." Proceedings of the 24th International Workshop on Languages and Compilers for Parallel Computing (LCPC 2011), Fort Collins, CO, USA Ed. Sanjay Rajopadhye, Michelle Mills Strout, Berlin Heidelberg: Springer, 2013. 46-60.