Efficiently Adapting Java Binaries in Limited Memory Contexts

  • Authors:
  • Pramod G. Joisha;Samuel P. Midkiff;Mauricio J. Serrano;Manish Gupta

  • Affiliations:
  • Department of Electrical and Computer Engineering, Northwestern University, Evanston, Illinois 60208. pjoisha@ece.northwestern.edu;IBM T. J. Watson Research Center, Yorktown Heights, New York 10598. smidkiff@us.ibm.com;Intel Microprocessor Research Labs, Santa Clara, California 95052. mauricio.j.serrano@intel.com;IBM T. J. Watson Research Center, Yorktown Heights, New York 10598. mgupta@us.ibm.com

  • Venue:
  • International Journal of Parallel Programming
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents a compilation framework that allows executable code to be shared across different Java Virtual Machine (JVM) instances. Current compliant JVMs for servers are burdened with large memory footprints (because of the size of the increasingly complicated compilers) and high startup costs, while compliant JVMs for embedded devices typically rely on interpretation. This paper describes a quasi-static approach that allows execution of a read-only version of the code, enabling compiled Java binaries to be embedded in ROM in an embedded environment or shared across multiple applications in a server environment. We have implemented this approach in the Quicksilver quasi-static compiler for the Jikes RVM (Jikes Research Virtual Machine). On the SPECjvm98 benchmark suite, our approach gives writable memory space savings of between 82–89% over that of our previous (non-sharable, non-ROMable) quasi-static approach, while delivering performance that is typically within 1–7% of that approach, and is competitive with the performance of the Jikes RVM adaptive optimization system.