CPC 2006 CPC 2006

Call for Participation
Current List of
Program (List of Talks)
Registration Form
Travel Information

Funded by the Vicerreitoría de Investigación of the University of A Coruña and the Ministry of Education and Science of Spain

Universidade de A Coruña Ministerio de
		      Educación y Ciencia

Compiler Techniques for High Performance Sequentially Consistent Java Programs

Zehra Sura1, Xing Fang2, Chi-Leung Wong3, Samuel P. Midkiff2, Jaejin Lee4 and David Padua3
1 IBM T.J. Watson Research Center, USA
2 Purdue University, USA
3 University of Illinois at Urbana-Champaign, USA
4 Seoul National University, Korea

The rise of Java, C#, and other explicitly parallel languages has increased the importance of compiling for different software memory models. In this work, we aim to assess the performance impact of using sequential consistency as the Java memory model.

We use co-operating escape analysis, thread structure analysis, and delay set analysis that enable high performance for sequentially consistent programs. Escape analysis determines references to memory locations that may be accessed by multiple threads. Synchronization analysis determines orders on shared memory accesses enforced by synchronization in the source program. Delay set analysis determines pairs of shared memory accesses in a thread that, subject to memory model requirements, must be constrained to execute in the same sequential order that they occur in the source program. We describe fast and effective algorithms for delay set analysis and synchronization analysis, and implement them in the IBM Jikes Research Virtual Machine compiler (an open-source, just-in-time Java compiler).

We compare the performance of a set of Java programs compiled for sequential consistency with the performance of the same programs compiled for weak consistency. For sequential consistency, we observe a slowdown of 10% on average for an architecture based on the Intel Xeon processor, and 26% on average for an architecture based on the IBM Power3. Moreover, 7 of 10 programs on the Xeon platform, and 8 of 10 programs on the Power3 platform, show a performance loss of 7% or less.

Back to the Workshop Program 

Please contact our webadmin with any comments or changes.