High-level data-access analysis for characterisation of (sub)task-level parallelism on Java

In the era of future embedded systems the designer is confronted with multi-processor systems both for performance and energy reasons. Exploiting (sub)task-level parallelism is becoming crucial because the instruction-level parallelism alone is insufficient. The challenge is to build compiler tools that support the exploration of the task-level parallelism in the programs. To achieve this goal, we have designed an analysis framework to evaluate the potential parallelism from sequential object-oriented programs. Parallel-performance and data-access analysis are the crucial techniques for estimation of the transformation effects. We have implemented support for platform-independent data-access analysis and profiling of Java programs, which is an extension to our earlier parallel-performance analysis framework. The toolkit comprises automated design-time analysis for performance and data-access characterisation, program instrumentation, program-profiling support and post-processing analysis. We demonstrate the usability of our approach on a number of realistic Java applications.

[1]  Barton P. Miller,et al.  The Paradyn Parallel Performance Measurement Tool , 1995, Computer.

[2]  Jeffrey S. Vetter Performance analysis of distributed applications using automatic classification of communication inefficiencies , 2000, ICS '00.

[3]  Chen Ding,et al.  Compiler-directed run-time monitoring of program data access , 2003, MSP '02.

[4]  ChoiJong-Deok,et al.  Global communication analysis and optimization , 1996 .

[5]  Rudy Lauwereins,et al.  Power Estimation Approach of Dynamic Data Storage on a Hardware Software Boundary Level , 2003, PATMOS.

[6]  David B. Whalley,et al.  Tools for application-oriented performance tuning , 2001, ICS '01.

[7]  Mattia Monga,et al.  Using Program Slicing to Analyze Aspect-Oriented Composition , 2004 .

[8]  Sven Wuytack,et al.  INTEGRATING SYSTEM-LEVEL LOW POWER METHODOLOGIES INTO A REAL-LIFE DESIGN FLOW , 2004 .

[9]  Mary K. Vernon,et al.  A Deterministic Model for Parallel Program Performance Evaluation , 1998 .

[10]  Laurie Hendren,et al.  Soot---a java optimization framework , 1999 .

[11]  Chris J. Scheiman,et al.  Profiling a Parallel Language Based on Fine-Grained Communication , 1996, Proceedings of the 1996 ACM/IEEE Conference on Supercomputing.

[12]  Rudy Lauwereins,et al.  Performance Analysis for Identification of (Sub-)Task-Level Parallelism in Java , 2003, SCOPES.

[13]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[14]  James Gosling,et al.  The Java Language Specification, 3rd Edition , 2005 .