Compiler-Driven Dependence Profiling to Guide Program Parallelization

  • Authors:
  • Peng Wu;Arun Kejariwal;Călin Caşcaval

  • Affiliations:
  • Programming Models and Tools for Scalable Systems, IBM T.J. Watson Research Center, Yorktown Heights, USA NY 10598;Center for Embedded Computer Systems, University of California, Irvine, Irvine, USA CA 92697;Programming Models and Tools for Scalable Systems, IBM T.J. Watson Research Center, Yorktown Heights, USA NY 10598

  • Venue:
  • Languages and Compilers for Parallel Computing
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

As hardware systems move toward multicore and multithreaded architectures, programmers increasingly rely on automated tools to help with both the parallelization of legacy codes and effective exploitation of all available hardware resources. Thread-level speculation (TLS) has been proposed as a technique to parallelize the execution of serial codes or serial sections of parallel codes. One of the key aspects of TLS is task selection for speculative execution. In this paper we propose a cost model for compiler-driven task selection for TLS. The model employs profile-based analysis of may -dependences to estimate the probability of successful speculation. We discuss two techniques to eliminate potential inter-task dependences, thereby improving the rate of successful speculation. We also present a profiling tool, DProf, that is used to provide run-time information about may -dependences to the compiler and map dynamic dependences to the source code. This information is also made available to the programmer to assist in code rewriting and/or algorithm redesign. We used DProf to quantify the potential of this approach and we present results on selected applications from the SPEC CPU2006 and SEQUOIA benchmarks.