ACM Home Page
Please provide us with feedback. Feedback
The ExoVM system for automatic VM and application reduction
Full text PdfPdf (511 KB)
Source
Conference on Programming Language Design and Implementation archive
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation table of contents
San Diego, California, USA
SESSION: Executed efficiently table of contents
Pages: 352 - 362  
Year of Publication: 2007
ISBN:978-1-59593-633-2
Also published in ...
Authors
Ben L. Titzer  UCLA Compilers Group, Los Angeles, CA
Joshua Auerbach  IBM T.J. Watson Research Center, Hawthorne, NY
David F. Bacon  IBM T.J. Watson Research Center, Hawthorne, NY
Jens Palsberg  UCLA Compilers Group, Los Angeles, CA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 9,   Downloads (12 Months): 64,   Citation Count: 1
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1250734.1250775
What is a DOI?

ABSTRACT

Embedded systems pose unique challenges to Java application developers and virtual machine designers. Chief among these challenges is the memory footprint of both the virtual machine and the applications that run within it. With the rapidly increasing set of features provided by the Java language, virtual machine designers are often forced to build custom implementations that make various tradeoffs between the footprint of the virtual machine and the subset of the Java language and class libraries that are supported. In this paper, we present the ExoVM, a system in which an application is initialized in a fully featured virtual machine, and then the code, data, and virtual machine features necessary to execute it are packaged into a binary image. Key to this process is feature analysis, a technique for computing the reachable code and data of a Java program and its implementation inside the VM simultaneously. The ExoVM reduces the need to develop customized embedded virtual machines by reusing a single VM infrastructure and automatically eliding the implementation of unused Java features on a per-program basis. We present a constraint-based instantiation of the analysis technique, an implementation in IBM's J9 Java VM, experiments evaluating our technique for the EEMBC benchmark suite, and some discussion of the individual costs of some of Java's features. Our evaluation shows that our system can reduce the non-heap memory allocation of the virtual machine by as much as 75%. We discuss VM and language design decisions that our work shows are important in targeting embedded systems, supporting the long-term goal of a common VM infrastructure spanning from motes to large servers.


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
3
 
4
Connected Limited Device Configuration (CLDC). http://java.sun.com/j2me
 
5
A. Courbot, G. Grimaud, and J.-J. Vandewalle. Romization: Early Deployment and Customization of Java Systems for Constrained Devices. In Proceedings of Second International Workshop on Construction and Analysis of Safe, Secure, and Interoperable Smart Devices (CASSIS). Nice, France, Mar 2005.
 
6
7
8
9
10
11
12
 
13
Sun Microsystems, J2ME Building Blocks for Mobile Devices, 2000.
 
14
 
15
 
16
 
17
 
18
 
19


Collaborative Colleagues:
Ben L. Titzer: colleagues
Joshua Auerbach: colleagues
David F. Bacon: colleagues
Jens Palsberg: colleagues