| Dynamic compilation: the benefits of early investing |
| Full text |
Pdf
(270 KB)
|
Source
|
ACM/Usenix International Conference On Virtual Execution Environments
archive
Proceedings of the 3rd international conference on Virtual execution environments
table of contents
San Diego, California, USA
SESSION: Compilation
table of contents
Pages: 94 - 104
Year of Publication: 2007
ISBN:978-1-59593-630-1
|
|
Authors
|
|
Prasad Kulkarni
|
Florida State University, Tallahassee, FL and IBM T.J. Watson Research Center, Hawthorne, NY
|
|
Matthew Arnold
|
IBM T.J. Watson Research Center, Hawthorne, NY
|
|
Michael Hind
|
IBM T.J. Watson Research Center, Hawthorne, NY
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 9, Downloads (12 Months): 57, Citation Count: 1
|
|
|
ABSTRACT
Dynamic compilation is typically performed in a separate thread, asynchronously with the remaining application threads. This compilation thread is often scheduled for execution in a simple round-robin fashion either by the operating system or by the virtual machine itself. Despite the popularity of this approach in production virtual machines, it has a number of shortcomings that can lead to suboptimal performance. This paper explores a number of issues surrounding asynchronous dynamic compilation in a virtual machine. We begin by describing the shortcomings of current approaches and demonstrate their potential to perform poorly under certain conditions. We describe the importance of enforcing a minimum level of utilization for the compilation thread, and evaluate the performance implications of varying the utilization that is enforced. We observed surprisingly large speedups by increasing the priority of the compilation thread, averaging 18.2% improvement over a large benchmark suite. Finally, we discuss options for implementing these techniques in a VM and address relevant issues when moving from a single-processor to a multiprocessor machine.
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
|
J. Andrews. Detecting hyper-threading technology and dual cores. http://www.developers.net/intelisnshowcase/view/579.
|
 |
2
|
|
| |
3
|
M. Arnold, S. J. Fink, D. Grove, M. Hind, and P. F. Sweeney. A survey of adaptive optimization in virtual machines. Proceedings of the IEEE, 93(2), 2005. Special issue on Program Generation, Optimization, and Adaptation.
|
 |
4
|
David F. Bacon , Perry Cheng , David Grove , Michael Hind , V. T. Rajan , Eran Yahav , Matthias Hauswirth , Christoph M. Kirsch , Daniel Spoonhower , Martin T. Vechev, High-level real-time programming in Java, Proceedings of the 5th ACM international conference on Embedded software, September 18-22, 2005, Jersey City, NJ, USA
[doi> 10.1145/1086228.1086242]
|
| |
5
|
BEA. BEA JRockit: Java for the enterprise technical white paper. http://www.bea.com, Jan. 2006.
|
 |
6
|
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
|
| |
7
|
S. Browne , J. Dongarra , N. Garner , K. London , P. Mucci, A scalable cross-platform infrastructure for application performance tuning using hardware counters, Proceedings of the 2000 ACM/IEEE conference on Supercomputing (CDROM), p.42-es, November 04-10, 2000, Dallas, Texas, United States
|
 |
8
|
|
| |
9
|
M. Cierniak, M. Eng, N. Glew, B. Lewis, and J. Stichnoth. The open runtime platform: A flexible high-performance managed runtime environment. Intel Technology Journal, 7(1):5--18, 2003.
|
| |
10
|
C. Click. The Azul VM, Azul systems. personal communication.
|
| |
11
|
|
| |
12
|
The Daikon dynamic invariant detector. http://pag.csail.mit.edu/daikon.
|
| |
13
|
S. Friberg. Dynamic profile guided optimization in a VEE on IA-64. Master's thesis, KTH -- Royal Institute of Technology, 2004. IMIT/LECS-2004-69.
|
| |
14
|
Nikola Grcevski , Allan Kielstra , Kevin Stoodley , Mark Stoodley , Vijay Sundaresan, JavaTM just-in-time compiler and virtual machine improvements for server and middleware applications, Proceedings of the 3rd conference on Virtual Machine Research And Technology Symposium, p.12-12, May 06-07, 2004, San Jose, California
|
| |
15
|
T. Harris. Controlling run-time compilation. In IEEE Workshop on Programming Languages for Real-Time Industrial Applications, pages 75--84, Dec. 1998.
|
 |
16
|
|
| |
17
|
https://www14.software.ibm.com/webapp/iwm/web/preLogin.do?source=trade6.
|
| |
18
|
Kawa, the Java-based Scheme system. http://www.gnu.org/software/kawa.
|
| |
19
|
C. J. Krintz, D. Grove, V. Sarkar, and B. Calder. Reducing the overhead of dynamic compilation. Software?Practice and Experience, 31(8):717--738, July 2001.
|
| |
20
|
|
| |
21
|
|
| |
22
|
T. Roscoe. The Structure of a Multi-Service Operating System. PhD thesis, University of Cambridge Computer Laboratory, April 1995. Available as Technical Report No. 376.
|
| |
23
|
|
| |
24
|
Standard Performance Evaluation Corporation. SPECjbb2000 Java Business Benchmark. http://www.spec.org/jbb2000.
|
| |
25
|
Standard Performance Evaluation Corporation. SPECjvm98 Benchmarks. http://www.spec.org/jvm98.
|
 |
26
|
|
| |
27
|
|
|