Evaluating the impact of thread escape analysis on a memory consistency model-aware compiler

  • Authors:
  • Chi-Leung Wong;Zehra Sura;Xing Fang;Kyungwoo Lee;Samuel P. Midkiff;Jaejin Lee;David Padua

  • Affiliations:
  • KAI Software Lab, Intel Americas, Inc., Champaign, IL;IBM Thomas J. Watson Research Center, Yorktown Heights, NY;Purdue University, West Lafayette, IN;Purdue University, West Lafayette, IN;Purdue University, West Lafayette, IN;Seoul National University, Seoul, Korea;Dept.of Computer Science, University of Illinois at Urbana-Champaign

  • Venue:
  • LCPC'05 Proceedings of the 18th international conference on Languages and Compilers for Parallel Computing
  • 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, delay set analysis, and synchronization analysis. In this paper, we evaluate the impact of different escape analysis algorithms on the effectiveness of the Pensieve system when both delay set analysis and synchronization analysis are used. Since both analyses make use of results of escape analyses, their precison and cost is dependent on the precision of the escape analysis algorithm. It is the goal of this paper to provide a quantitative evalution of this impact.