Transparent Gif

Department of Computer Science

University of California, Santa Barbara

Abstract

Adaptive Code Unloading for Efficient Dynamic Compilation in Resource-Constrained Environments

by: Lingli Zhang and Chandra Krintz

Abstract:

Java virtual machines (JVMs) have become increasingly popular for theexecution of a wide range of applications on mobile and embedded devices.Most JVMs for such devices use interpretation forbytecode execution. However, JVMs that use dynamic compilationhave been shown to enable significant performance improvements.One disadvantage of using a compile-only approach in a resource-constrainedenvironment is that it uses more memory than interpretationto store compiled code for reuse.With this paper, we address this limitation witha novel framework for adaptive compiled code unloading that can be integratedinto any compilation-based JVM. In our framework, a centralunloader monitors system resources to adaptively determine theaggressiveness with which to apply unloading. The unloaderutilizes both offline and online profileinformation using various strategies tounload dead or infrequently usedcode. We evaluate our framework using a non-optimizingcompiler JVM configuration as well asa state-of-the-art adaptive optimization configuration (in which hot methodsare identified and incrementally optimized). We find that byusing adaptive code unloading, we reduce heap residency tosignificantly improve garbage collection performance.Our results indicate that,for the benchmarks studied, our system reduces programexecution time by 22.32% for the dynamic compiler JVMand 11.66% for the adaptively optimizing JVM, when memory isconstrained.

Keywords:

Java, dynamic compilation, embedded systems, mobile devices, code unloading, adaptive optimization

Date:

June 2003

Document: 2003-14

XHTML Validation | CSS Validation
Updated 14-Nov-2005
Questions should be directed to: webmaster@cs.ucsb.edu