ACM Home Page
Please provide us with feedback. Feedback
Enhanced hot spot detection heuristics for embedded java just-in-time compilers
Full text PdfPdf (389 KB)
Source
Language, Compiler and Tool Support for Embedded Systems archive
Proceedings of the 2008 ACM SIGPLAN-SIGBED conference on Languages, compilers, and tools for embedded systems table of contents
Tucson, AZ, USA
SESSION: Java table of contents
Pages 13-22  
Year of Publication: 2008
ISBN:978-1-60558-104-0
Also published in ...
Authors
Seong-Won Lee  Seoul National University, Seoul, South Korea
Soo-Mook Moon  Seoul National University, Seoul, South Korea
Seong-Moo Kim  Seoul National University, Seoul, South Korea
Sponsors
ACM: Association for Computing Machinery
SIGBED: ACM Special Interest Group on Embedded Systems
SIGART: ACM Special Interest Group on Artificial Intelligence
SIGMICRO: ACM Special Interest Group on Microarchitectural Research and Processing
SIGDA: ACM Special Interest Group on Design Automation
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 65,   Citation Count: 0
Additional Information:

abstract   references   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/1375657.1375660
What is a DOI?

ABSTRACT

Most Java just-in-time compilers (JITC) try to compile only hot methods since the compilation overhead is part of the running time. This requires precise and efficient hot spot detection, which includes distinguishing hot methods from cold methods, detecting them as early as possible, and paying a small runtime overhead for detection. A hot method could be identified by measuring its running time during interpretation since a long-running method is likely to be a hot method. However, precise measurement of the running time during execution is too expensive, especially in embedded systems, so many counter-based heuristics have been proposed to estimate it. The Simple heuristic counts only method invocations without any consideration of loops [1], while Sun's HotSpot heuristic counts loop iterations as well, but does not consider loop sizes or method sizes [2,14]. The static analysis heuristic estimates the running time of a method by statically analyzing loops or heavy-cost bytecodes but does not measure their dynamic counts [3]. Although the overhead of these heuristics is low, they do not estimate the running time precisely, which may lead to imprecise hot spot detection.

This paper proposes a new hot spot detection heuristic which can estimate the running time more precisely than others with a relatively low overhead. It dynamically counts only important bytecodes interpreted, but with a simple arithmetic calculation it can obtain the precise count of all interpreted bytecodes. We also propose employing a static analysis technique to predict those hot methods which spend a huge execution time once invoked. This static prediction can allow compiling these methods at their first-invocation, complementing the proposed dynamic estimation technique. We implemented both, which led to a performance benefit of 10% compared to the HotSpot heuristic.


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
Sun Microsystems. CDC Runtime Guide for the Sun Java Connected Device Configuration Application Management System version 1.0. (Page 58), http://java.sun.com/javame/reference/docs/cdc_runtime_guide.pdf. The source code can be downloaded at http://download.java.net/mobileembedded/phoneme/advanced/phoneme_advanced-mr1-rel-src-b06-10_nov_2006.zip
3
 
4
Sun Microsystems. White Paper "CDC: An Application Framework for Personal Mobile Devices"
 
5
6
7
8
9
 
10
Sun Microsystems. CDC CVM, http://java.sun.com/products/cdc
 
11
SPEC JVM98 Benchmarks. http://www.SPEC.org/jvm98.
 
12
EEMBC GrinderBench Benchmarks. http://www.eembc.org.
 
13
M. Arnold, S.J. Fink, D. Grove, M. Hind and P.F. Sweeney. A Survey of Adaptive Optimization in Virtual Machine. IBM Research Report RC23143, May 2004.
 
14
 
15
IBM. IBM Technology for Java Virtual Machine in IBM i5/OS, http://www.redbooks.ibm.com/redbooks/pdfs/sg247353.pdf
 
16
 
17
J. Smith and R. Nair. Virtual Machines, pages 314--316, Morgan-Kaufmann, 2005.

Collaborative Colleagues:
Seong-Won Lee: colleagues
Soo-Mook Moon: colleagues
Seong-Moo Kim: colleagues