ACM Home Page
Please provide us with feedback. Feedback
Method-level phase behavior in java workloads
Full text PdfPdf (696 KB)
Source Conference on Object Oriented Programming Systems Languages and Applications archive
Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications table of contents
Vancouver, BC, Canada
SESSION: Performance table of contents
Pages: 270 - 287  
Year of Publication: 2004
ISBN:1-58113-831-9
Also published in ...
Authors
Andy Georges  Ghent University, Gent, Belgium
Dries Buytaert  Ghent University, Gent, Belgium
Lieven Eeckhout  Ghent University, Gent, Belgium
Koen De Bosschere  Ghent University, Gent, Belgium
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 4,   Downloads (12 Months): 55,   Citation Count: 15
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1028976.1028999
What is a DOI?

ABSTRACT

Java workloads are becoming more and more prominent on various computing devices. Understanding the behavior of a Java workload which includes the interaction between the application and the virtual machine (VM), is thus of primary importance during performance analysis and optimization. Moreover, as contemporary software projects are increasing in complexity, automatic performance analysis techniques are indispensable. This paper proposes an off-line method-level phase analysis approach for Java workloads that consists of three steps. In the first step, the execution time is computed for each method invocation. Using an off-line tool, we subsequently analyze the dynamic call graph (that is annotated with the method invocations' execution times) to identify method-level phases. Finally, we measure performance characteristics for each of the selected phases. This is done using hardware performance monitors. As such, our approach allows for linking microprocessor-level information at the individual methods in the Java application's source code. This is extremely interesting information during performance analysis and optimization as programmers can use this information to optimize their code. We evaluate our approach in the Jikes RVM on an IA-32 platform using the SPECjvm98 and SPECjbb2000 benchmarks. This is done according to a number of important criteria: the overhead during profiling, the variability within and between the phases, its applicability in Java workload characterization (measuring performance characteristics of the various VM components) and application bottleneck identification.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
 
2
3
4
5
6
 
7
8
 
9
10
 
11
 
12
Mikhail Dmitriev. Selective profiling of Java applications using dynamic bytecode instrumentation. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software. IEEE Computer Society, 2004.
 
13
14
15
 
16
17
 
18
 
19
 
20
Jeremy Lau, Stefan Schoenmackers, and Brad Calder. Structures for phase classification. In Proceedings of the IEEE International Symposium on Performance Analysis of Systems and Software. IEEE Computer Society, 2004.
 
21
 
22
 
23
R Development Core Team. R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria, 2003. ISBN 3-900051-00-3.
 
24
25
26
27
 
28
Peter F. Sweeney, Matthias Hauswirth, Brendon Cahoon, Perry Cheng, Amer Diwan, David Grove, and Michael Hind. Using hardware performance monitors to understand the behavior of Java applications. In Proceedings of the Third Virtual Machine Research and Technology Symposium, pages 57--72. USENIX, 2004.

CITED BY  15

Collaborative Colleagues:
Andy Georges: colleagues
Dries Buytaert: colleagues
Lieven Eeckhout: colleagues
Koen De Bosschere: colleagues