| CCCP: complete calling context profiling in virtual execution environments |
| Full text |
Pdf
(432 KB)
|
Source
|
ACM/SIGPLAN Workshop Partial Evaluation and Semantics-Based Program Manipulation
archive
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
table of contents
Savannah, GA, USA
SESSION: Slicing and profiling
table of contents
Pages 151-160
Year of Publication: 2009
ISBN:978-1-60558-327-3
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 2, Downloads (12 Months): 39, Citation Count: 0
|
|
|
ABSTRACT
Calling context profiling is an important technique for locating hotspots in programs. The prevailing data structure is the Calling Context Tree (CCT) that provides dynamic metrics for each calling context. Existing approaches to calling context profiling in Java either limit portability due to the use of native code or of a modified Java Virtual Machine, create incomplete and inaccurate CCTs, or cause excessive overhead. In this paper, we introduce Complete Calling Context Profiling (CCCP), a new approach that reconciles completeness and accuracy of the created CCTs, portability, and moderate overhead. CCCP relies on a generic bytecode instrumentation framework ensuring comprehensive bytecode coverage, including also the standard Java class library. In order to reduce the overhead of accessing the current CCT node, CCCP transforms code such that the caller passes its CCT node to the callee as a special method argument, while ensuring compatibility with native code, reflection, and stack introspection. We use the resulting CCTs for a detailed analysis of the dynamic behavior of Java systems and present a thorough analysis of the origin of runtime overheads.
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
|
B. Alpern , C. R. Attanasio , J. J. Barton , M. G. Burke , P. Cheng , J.-D. Choi , A. Cocchi , S. J. Fink , D. Grove , M. Hind , S. F. Hummel , D. Lieber , V. Litvinov , M. F. Mergen , T. Ngo , J. R. Russell , V. Sarkar , M. J. Serrano , J. C. Shepherd , S. E. Smith , V. C. Sreedhar , H. Srinivasan , J. Whaley, The Jalapeño virtual machine, IBM Systems Journal, v.39 n.1, p.211-238, January 2000
|
 |
2
|
Glenn Ammons , Thomas Ball , James R. Larus, Exploiting hardware performance counters with flow and context sensitive profiling, Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, p.85-96, June 16-18, 1997, Las Vegas, Nevada, United States
|
 |
3
|
|
| |
4
|
M. Arnold and P. F. Sweeney. Approximating the calling context tree via sampling. Research report, IBM, July 2000.
|
 |
5
|
|
| |
6
|
|
 |
7
|
Walter Binder , Alex Villazón , Martin Schoeberl , Philippe Moret, Cache-aware cross-profiling for java processors, Proceedings of the 2008 international conference on Compilers, architectures and synthesis for embedded systems, October 19-24, 2008, Atlanta, GA, USA
[doi> 10.1145/1450095.1450116]
|
 |
8
|
Stephen M. Blackburn , Robin Garner , Chris Hoffmann , Asjad M. Khang , Kathryn S. McKinley , Rotem Bentzur , Amer Diwan , Daniel Feinberg , Daniel Frampton , Samuel Z. Guyer , Martin Hirzel , Antony Hosking , Maria Jump , Han Lee , J. Eliot B. Moss , B. Moss , Aashish Phansalkar , Darko Stefanović , Thomas VanDrunen , Daniel von Dincklage , Ben Wiedermann, The DaCapo benchmarks: java benchmarking development and analysis, Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, October 22-26, 2006, Portland, Oregon, USA
|
 |
9
|
|
| |
10
|
|
| |
11
|
|
| |
12
|
R. Covington, S. Dwarkadas, J. Jump, J. Sinclair, and S. Madala. The efficient simulation of parallel computer systems. International Journal in Computer Simulation, 1:31--58, 1991.
|
| |
13
|
M. Dahm. Byte code engineering. In Java-Information-Tage 1999 (JIT'99), Sept. 1999. http://jakarta.apache.org/bcel/
|
 |
14
|
|
 |
15
|
|
 |
16
|
Michael Factor , Assaf Schuster , Konstantin Shagin, Instrumentation of standard libraries in object-oriented languages: the twin class hierarchy approach, Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, October 24-28, 2004, Vancouver, BC, Canada
|
| |
17
|
|
| |
18
|
ObjectWeb. ASM. Web pages at http://asm.objectweb.org/
|
| |
19
|
|
| |
20
|
|
| |
21
|
Sun Microsystems, Inc. Java Virtual Machine Profiler Interface (JVMPI). Web pages at http://java.sun.com/j2se/1.4.2/docs/guide/jvmpi/, 2000.
|
| |
22
|
The Standard Performance Evaluation Corporation. SPEC JVM98 Benchmarks. Web pages at http://www.spec.org/osg/jvm98/, 1998.
|
 |
23
|
|
| |
24
|
Raja Vallée-Rai , Etienne Gagnon , Laurie J. Hendren , Patrick Lam , Patrice Pominville , Vijay Sundaresan, Optimizing Java Bytecode Using the Soot Framework: Is It Feasible?, Proceedings of the 9th International Conference on Compiler Construction, p.18-34, March 25-April 02, 2000
|
 |
25
|
|
| |
26
|
T. Wilkinson. Kaffe -- a Java virtual machine. Web pages at http://www.kaffe.org/
|
 |
27
|
Xiaotong Zhuang , Mauricio J. Serrano , Harold W. Cain , Jong-Deok Choi, Accurate, efficient, and adaptive calling context profiling, Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation, June 11-14, 2006, Ottawa, Ontario, Canada
|
|