教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教学研究 >

Java Runtime Systems Characterization and Architectural Impl

来源:网络收集 时间:2026-08-24
导读: The Java Virtual Machine (JVM) is the corner stone of Java technology, and its e ciency in executing the portable Java bytecodes is crucial for the success of this technology. Interpretation, Just-In-Time (JIT) compilation, and hardware re

The Java Virtual Machine (JVM) is the corner stone of Java technology, and its e ciency in executing the portable Java bytecodes is crucial for the success of this technology. Interpretation, Just-In-Time (JIT) compilation, and hardware realization are wel

Java Runtime Systems: Characterization and Architectural ImplicationsR. Radhakrishnany, N. Vijaykrishnanz, L. K. Johny, A. Sivasubramaniamz, J. Rubioy and J. SabarinathanyyLaboratory for Computer Architecture Dept. of Electrical and Computer Engineering The University of Texas at Austin Austin, TX 78712jrubio, sabarina@ece.utexas.edu

fradhakri,ljohn,

g

z220 Pond Lab Dept. of Computer Science and Engineering The Pennsylvania State University University Park, PA 16802. fvijay,anandg@cse.psu.edu

The Java Virtual Machine (JVM) is the corner stone of Java technology, and its e ciency in executing the portable Java bytecodes is crucial for the success of this technology. Interpretation, Just-In-Time (JIT) compilation, and hardware realization are well known solutions for a JVM, and previous research has proposed optimizations for each of these techniques. However, each technique has its pros and cons and may not be uniformly attractive for all hardware platforms. Instead, an understanding of the architectural implications of JVM implementations with real applications, can be crucial to the development of enabling technologies for e cient Java runtime system development on a wide range of platforms. Towards this goal, this paper examines architectural issues, from both the hardware and JVM implementation perspectives. The paper starts by identifying the important execution characteristics of Java applications from a bytecode perspective. It then explores the potential of a smart JIT compiler strategy that can dynamically interpret or compile based on associated costs, and investigates the CPU and cache architectural support that would bene t JVM implementations. We also study the available parallelism during the di erent execution modes using applications from the SPECjvm98 benchmarks. At the bytecode level, it is observed that less than 45 out of the 256 bytecodes constitute 90% of the dynamic bytecode stream. Method sizes fall into a tri-nodal distribution with peaks of 1, 9 and 26 bytecodes across all benchmarks. The architectural issues explored in this study shows that when Java applications are executed with a JIT compiler, selective translation using good heuristics can improve performance, but the saving is only 10-15% at best. The instruction and data cache performance of Java applications are seen to be better than that of C/C++ applications, except in the case of data cache performance in the JIT mode. Write misses resulting from installation of JIT compiler output dominate the misses and deteriorate the data cache performance in JIT mode. A study on the available parallelism shows that Java programs executed using JIT compilers have parallelism comparable to C/C++ programs for small window sizes, but falls behind when the window size is increased. Java programs executed using the interpreter have very little parallelism due to the stack nature of the JVM instruction set, which is dominant in the interpreted execution mode. In additio

n, this work gives revealing insights and architectural proposals for designing an e cient Java runtime system.A preliminary version of this paper appeared in the International Conference on High Performance Computers and Architecture (HPCA-6)

Abstract

The Java Virtual Machine (JVM) is the corner stone of Java technology, and its e ciency in executing the portable Java bytecodes is crucial for the success of this technology. Interpretation, Just-In-Time (JIT) compilation, and hardware realization are wel

1 IntroductionThe Java Virtual Machine (JVM) 1] is the corner stone of Java technology epitomizing the\writeonce run-anywhere" promise. It is expected that this enabling technology will make it a lot easier to develop portable software and standardized interfaces that span a spectrum of hardware platforms. The envisioned underlying platforms for this technology include powerful (resource-rich) servers, network-based and personal computers, together with resource-constrained environments such as hand-held devices, specialized hardware/embedded systems, and even household appliances. If this technology is to succeed, it is important that the JVM provides an e cient execution/runtime environment across these perse hardware platforms. This paper examines di erent architectural issues, from both the hardware and JVM implementation perspectives, towards this goal. Applications in Java are compiled into the byte code format to execute in the Java Virtual Machine (JVM). The core of the JVM implementation is the execution engine that executes the byte codes. This can be implemented in four di erent ways: 1. An interpreter is a software emulation of the virtual machine. It uses a loop which fetches, decodes and executes the byte codes until the program ends. Due to the software emulation the Java interpreter has an additional overhead and executs more instructions than just the bytecodes. 2. A Just-in-time (JIT) compiler is an execution model which tries to speed up the execution of interpreted programs. It compiles a Java method into native instructions on the y and caches the native sequence. On future references to the same method, the cached native method can be executed directly without the need for interpretation. JIT compilers have been released by many vendors like IBM 2], Symantec 3] and Microsoft. Compiling during program execution, however, inhibits aggressive optimizations because compilation must only incur a small overhead. Another disadvantage of JIT compilers is the two to three times increase in the object code, which becomes critical in memory constrained embedded 2

The Java Virtual Machine (JVM) is the corner …… 此处隐藏:37260字,全部文档内容请下载后查看。喜欢就下载吧 ……

Java Runtime Systems Characterization and Architectural Impl.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/1568939.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)