|
ABSTRACT
State of the art Java Virtual Machines with Just-In-Time (JIT) compilers make use of advanced compiler techniques, run-time profiling and adaptive compilation to improve performance. However, these techniques for alleviating performance bottlenecks are more effective in long running workloads, such as server applications. Short running Java programs, or client workloads, spend a large fraction of their execution time in compilation instead of useful execution when run using JIT compilers. In short running Java programs, the benefits of runtime translation do not compensate for the overhead.
We propose using hardware support to perform efficient Java translation coupled with a light weight run time environment. The additional hardware performs the translation of Java bytecodes to native code, thus eliminating much of the overhead of software translation. A translate d code buffer is used to hold the translated code, enabling reuse at the byte code level. The proposed hardware can be used in any general purpose processor without degrading performance of native code. The proposed technique is extremely effective for short running client workloads. A performance improvement of 2.8 times to 7.7 times over a software interpreter is achieved. When compared to a JIT compiler all SPECjvm98 benchmarks except one show a performance improvement ranging from. 2.7 times to 5.0 times. A performance degradation (0.58 times) is observed for one benchmark which is long running. Allowing hardware translation to perform optimizations similar to JIT compilers and Java processors will execute long running programs more efficiently and provide speedups similar to that of client workloads.
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
|
A. Krall and R. Gra , "CACAO- a 64 bit JavaVM Just-In-time Compiler," in Concurrency: Practice and Experience, 9(11):1017-1030, 1997.
|
 |
3
|
Ali-Reza Adl-Tabatabai , Michał Cierniak , Guei-Yuan Lueh , Vishesh M. Parikh , James M. Stichnoth, Fast, effective code generation in a just-in-time Java compiler, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.280-290, June 17-19, 1998, Montreal, Quebec, Canada
|
| |
4
|
Timothy Cramer , Richard Friedman , Terrence Miller , David Seberger , Robert Wilson , Mario Wolczko, Compiling Java Just in Time, IEEE Micro, v.17 n.3, p.36-43, May 1997
[doi> 10.1109/40.591653]
|
| |
5
|
HotSpot: A New Breed of Virtual Machine, http://www.javaworld.com/jw-03-1998/jw-03- hotspot.html?030998.
|
| |
6
|
T. Suganuma , T. Ogasawara , M. Takeuchi , T. Yasue , M. Kawahito , K. Ishizaki , H. Komatsu , T. Nakatani, Overview of the IBM Java just-in-time compiler, IBM Systems Journal, v.39 n.1, p.175-193, January 2000
|
 |
7
|
Michael G. Burke , Jong-Deok Choi , Stephen Fink , David Grove , Michael Hind , Vivek Sarkar , Mauricio J. Serrano , V. C. Sreedhar , Harini Srinivasan , John Whaley, The Jalapeño dynamic optimizing compiler for Java, Proceedings of the ACM 1999 conference on Java Grande, p.129-141, June 12-14, 1999, San Francisco, California, United States
[doi> 10.1145/304065.304113]
|
| |
8
|
The SPEC JVM98 Benchmarks, http://www.spec.org/osg/jvm98/.
|
| |
9
|
R. Radhakrishnan, N. Vijaykrishnan, L. K. John and A. Sivasubramanium , "Architectural Issues in Java Runtime Systems," in Proceedings of the Intl. Symposium on High Performance Computer Architecture (HPCA-6), pp. 387-398, January 2000.
|
| |
10
|
|
| |
11
|
Ramesh Radhakrishnan , N. Vijaykrishnan , Lizy Kurian John , Anand Sivasubramaniam , Juan Rubio , Jyotsna Sabarinathan, Java Runtime Systems: Characterization and Architectural Implications, IEEE Transactions on Computers, v.50 n.2, p.131-146, February 2001
[doi> 10.1109/12.908989]
|
| |
12
|
|
| |
13
|
|
 |
14
|
|
 |
15
|
|
| |
16
|
|
| |
17
|
|
| |
18
|
M. J. Flynn and L. W. Hoevel, "Execution Architecture: The Deltran Experiment," vol. C-32, pp. 156-175, 1983.
|
| |
19
|
G. J. Sussman, J. Holloway, J. lxx Steel, and A. Bell, "Scheme-79 Lisp on a Chip," vol. 14, pp. 10-21, 1981.
|
| |
20
|
|
| |
21
|
A. Wolfe, "First Java-specific chip takes wing ," Electronic Engineering Times, 22 April 1997. http://www.techweb.com/.
|
| |
22
|
R. B. Slack, "A Java chip available now," Gamelans Java Journal, April 1999. http://softwaredev.earthweb.com/java.
|
| |
23
|
|
| |
24
|
N.Vijaykrishnan, Issues in the Design of a Processor Architecture. PhD thesis, University of South Florida, 1998.
|
| |
25
|
N. Vijaykrishnan and N. Ranganathan, "Tuning Branch Predictors to Support Virtual Method Invocation in Java," in Proc. of COOTS'99, pp. 217-228, May 1999.
|
| |
26
|
|
| |
27
|
|
| |
28
|
M. Tremblay, "An Architecture for the New Millenium," in Proceedings of Hot Chips 11, August 1999.
|
| |
29
|
H. Shiffman, "JSTAR: Practical Java Acceleration For Information Appliances." http://www.nazomi.com/.
|
| |
30
|
Chicory Systems, "A Comparison of Java Acceleration Technologies." White Paper, Dec 2000.
|
| |
31
|
|
|