Thread escape analysis for a memory consistency-aware compiler

  • Authors:
  • David Padua;Chi-Leung Wong

  • Affiliations:
  • University of Illinois at Urbana-Champaign;University of Illinois at Urbana-Champaign

  • Venue:
  • Thread escape analysis for a memory consistency-aware compiler
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

The widespread popularity of languages allowing explicitly parallel, multi-threaded programming, e.g. Java and C#, have focused attention on the issue of memory model design. The Pensieve Project is building a compiler that will enable both language designers to prototype different memory models; and optimizing compilers to adapt to different memory models. Among the key analyses required to implement this system are thread escape analysis, i.e. detecting when a referenced object is accessible by more than one thread, synchronization analysis, and delay set analysis. This thesis describes the overall Pensieve compiler and presents in detail its thread escape analysis as well as experimental results showing the effectiveness of the compiler when the target code is following the sequentially consistent memory model. On both single-threaded and multi-threaded programs the performance is up to 100% of the performance of the same programs executing under a relaxed memory model.