Architectural issues in Java runtime systems

R. Radhakrishnan, Vijaykrishnan Narayanan, L. K. John, Anand Sivasubramaniam

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

The Java Virtual Machine (JVM) is the corner stone of Java technology, and its efficiency 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 efficient Java runtime system development on a wide range of platforms (from resource-rich servers to resource-constrained hand-held/embedded systems). Towards this goal, this paper examines architectural issues, from both the hardware and JVM implementation perspectives. It specifically explores the potential of a smart JIT compiler strategy that can dynamically interpret or compile based on associated costs, investigates the CPU and cache architectural support that would benefit JVM implementations, and examines the synchronization support for enhancing performance, using applications from the SpecJVM98 benchmarks.

Original languageEnglish (US)
Title of host publicationIEEE High-Performance Computer Architecture Symposium Proceedings
PublisherIEEE
Pages387-398
Number of pages12
StatePublished - 1999
EventThe 6th International Symposium on High-Performance Computer Architecture (HPCA-6) - Toulouse, France
Duration: Jan 8 2000Jan 12 2000

Other

OtherThe 6th International Symposium on High-Performance Computer Architecture (HPCA-6)
CityToulouse, France
Period1/8/001/12/00

Fingerprint

Computer hardware
Embedded systems
Program processors
Synchronization
Servers
Virtual machine
Hardware
Costs

All Science Journal Classification (ASJC) codes

  • Engineering(all)

Cite this

Radhakrishnan, R., Narayanan, V., John, L. K., & Sivasubramaniam, A. (1999). Architectural issues in Java runtime systems. In IEEE High-Performance Computer Architecture Symposium Proceedings (pp. 387-398). IEEE.
Radhakrishnan, R. ; Narayanan, Vijaykrishnan ; John, L. K. ; Sivasubramaniam, Anand. / Architectural issues in Java runtime systems. IEEE High-Performance Computer Architecture Symposium Proceedings. IEEE, 1999. pp. 387-398
@inproceedings{be2688a73ae44fc88ef7b6b3a91a801f,
title = "Architectural issues in Java runtime systems",
abstract = "The Java Virtual Machine (JVM) is the corner stone of Java technology, and its efficiency 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 efficient Java runtime system development on a wide range of platforms (from resource-rich servers to resource-constrained hand-held/embedded systems). Towards this goal, this paper examines architectural issues, from both the hardware and JVM implementation perspectives. It specifically explores the potential of a smart JIT compiler strategy that can dynamically interpret or compile based on associated costs, investigates the CPU and cache architectural support that would benefit JVM implementations, and examines the synchronization support for enhancing performance, using applications from the SpecJVM98 benchmarks.",
author = "R. Radhakrishnan and Vijaykrishnan Narayanan and John, {L. K.} and Anand Sivasubramaniam",
year = "1999",
language = "English (US)",
pages = "387--398",
booktitle = "IEEE High-Performance Computer Architecture Symposium Proceedings",
publisher = "IEEE",

}

Radhakrishnan, R, Narayanan, V, John, LK & Sivasubramaniam, A 1999, Architectural issues in Java runtime systems. in IEEE High-Performance Computer Architecture Symposium Proceedings. IEEE, pp. 387-398, The 6th International Symposium on High-Performance Computer Architecture (HPCA-6), Toulouse, France, 1/8/00.

Architectural issues in Java runtime systems. / Radhakrishnan, R.; Narayanan, Vijaykrishnan; John, L. K.; Sivasubramaniam, Anand.

IEEE High-Performance Computer Architecture Symposium Proceedings. IEEE, 1999. p. 387-398.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

TY - GEN

T1 - Architectural issues in Java runtime systems

AU - Radhakrishnan, R.

AU - Narayanan, Vijaykrishnan

AU - John, L. K.

AU - Sivasubramaniam, Anand

PY - 1999

Y1 - 1999

N2 - The Java Virtual Machine (JVM) is the corner stone of Java technology, and its efficiency 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 efficient Java runtime system development on a wide range of platforms (from resource-rich servers to resource-constrained hand-held/embedded systems). Towards this goal, this paper examines architectural issues, from both the hardware and JVM implementation perspectives. It specifically explores the potential of a smart JIT compiler strategy that can dynamically interpret or compile based on associated costs, investigates the CPU and cache architectural support that would benefit JVM implementations, and examines the synchronization support for enhancing performance, using applications from the SpecJVM98 benchmarks.

AB - The Java Virtual Machine (JVM) is the corner stone of Java technology, and its efficiency 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 efficient Java runtime system development on a wide range of platforms (from resource-rich servers to resource-constrained hand-held/embedded systems). Towards this goal, this paper examines architectural issues, from both the hardware and JVM implementation perspectives. It specifically explores the potential of a smart JIT compiler strategy that can dynamically interpret or compile based on associated costs, investigates the CPU and cache architectural support that would benefit JVM implementations, and examines the synchronization support for enhancing performance, using applications from the SpecJVM98 benchmarks.

UR - http://www.scopus.com/inward/record.url?scp=0033348957&partnerID=8YFLogxK

UR - http://www.scopus.com/inward/citedby.url?scp=0033348957&partnerID=8YFLogxK

M3 - Conference contribution

SP - 387

EP - 398

BT - IEEE High-Performance Computer Architecture Symposium Proceedings

PB - IEEE

ER -

Radhakrishnan R, Narayanan V, John LK, Sivasubramaniam A. Architectural issues in Java runtime systems. In IEEE High-Performance Computer Architecture Symposium Proceedings. IEEE. 1999. p. 387-398