Compiler-Driven Dependence Profiling to Guide Program Parallelization

  • Peng Wu
  • Arun Kejariwal
  • Călin Caşcaval
Conference paper

DOI: 10.1007/978-3-540-89740-8_16

Part of the Lecture Notes in Computer Science book series (LNCS, volume 5335)
Cite this paper as:
Wu P., Kejariwal A., Caşcaval C. (2008) Compiler-Driven Dependence Profiling to Guide Program Parallelization. In: Amaral J.N. (eds) Languages and Compilers for Parallel Computing. LCPC 2008. Lecture Notes in Computer Science, vol 5335. Springer, Berlin, Heidelberg

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Peng Wu
    • 1
  • Arun Kejariwal
    • 2
  • Călin Caşcaval
    • 1
  1. 1.Programming Models and Tools for Scalable SystemsIBM T.J. Watson Research CenterYorktown HeightsUSA
  2. 2.Center for Embedded Computer SystemsUniversity of California, IrvineIrvineUSA

Personalised recommendations