| Slim VM: optimistic partial program loading for connected embedded Java virtual machines |
| Full text |
Pdf
(579 KB)
|
Source
|
ACM International Conference Proceeding Series; Vol. 347
archive
Proceedings of the 6th international symposium on Principles and practice of programming in Java
table of contents
Modena, Italy
SESSION: Optimization and run-time performance II
table of contents
Pages 117-126
Year of Publication: 2008
ISBN:978-1-60558-223-8
|
|
Authors
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 9, Downloads (12 Months): 65, Citation Count: 0
|
|
|
ABSTRACT
Embedded systems are inherently limited in terms of local storage capacity. This limitation conflicts with the demands of modern virtual machine platforms, which require large amounts of library code to be present on each client device. These conflicting requirements are often resolved by providing specialized embedded versions of the standard libraries, but even these stripped down libraries consume significant resources. We present a solution for "always connected" mobile devices that is based on a zero footprint paradigm. In our approach, all code resides on a remote host. Only those parts of applications and libraries that are likely to be needed are transferred to the mobile device. Since it is difficult to predict statically which library parts will be needed at runtime, we combine static analysis and lazy code loading to transfer code with a high likelihood of execution ahead of time while other code (such as exception code) remains on the remote host and is provided only on demand. This allows us to perform not only dead code elimination, but also aggressive elimination of cold (or potentially unused) code. The granularity of our approach is flexible all the way down to individual basic blocks. Our method achieves total code size reductions of up to 95%.
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
|
Quetzalcoatl Bradley , R. Nigel Horspool , Jan Vitek, JAZZ: an efficient compressed format for Java archive files, Proceedings of the 1998 conference of the Centre for Advanced Studies on Collaborative research, p.7, November 30-December 03, 1998, Toronto, Ontario, Canada
|
 |
3
|
|
| |
4
|
L. R. Clausen. A Java Bytecode Optimizer Using Side-Effect Analysis. Concurrency: Practice and Experience, 9(11):1031--1045, 1997.
|
 |
5
|
|
| |
6
|
M. Dahm. Byte Code Engineering Library (BCEL) http://jakarta.apache.org/bcel/, 2001.
|
 |
7
|
Jens Ernst , William Evans , Christopher W. Fraser , Todd A. Proebsting , Steven Lucco, Code compression, Proceedings of the ACM SIGPLAN 1997 conference on Programming language design and implementation, p.358-365, June 16-18, 1997, Las Vegas, Nevada, United States
|
 |
8
|
|
| |
9
|
|
| |
10
|
W. P. John Rose, Kumar Srinivasan. JSR 200: Network Transfer Format for JavaTM Archives, September 2004.
|
 |
11
|
Chandra Krintz , Brad Calder , Han Bok Lee , Benjamin G. Zorn, Overlapping execution with transfer using non-strict execution for mobile programs, Proceedings of the eighth international conference on Architectural support for programming languages and operating systems, p.159-169, October 02-07, 1998, San Jose, California, United States
|
 |
12
|
J. A. Mathew , P. D. Coddington , K. A. Hawick, Analysis and development of Java Grande benchmarks, Proceedings of the ACM 1999 conference on Java Grande, p.72-80, June 12-14, 1999, San Francisco, California, United States
[doi> 10.1145/304065.304101]
|
 |
13
|
|
| |
14
|
|
| |
15
|
Derek Rayside , Evan Mamas , Erik Hons, Compact Java binaries for embedded systems, Proceedings of the 1999 conference of the Centre for Advanced Studies on Collaborative research, p.9, November 08-11, 1999, Mississauga, Ontario, Canada
|
| |
16
|
N. Richards. HelloWorld! in 70 Bytes http://www2.sys-con.com/ITSG/virtualcd/java/archives/0707/richards/index.html, 2004.
|
| |
17
|
|
| |
18
|
Sun Microsystems. KVM - Kilobyte Virtual Machine White Paper. http://java.sun.com/products/kvm/wp/. Palo Alto, CA, USA, 1999.
|
 |
19
|
|
 |
20
|
|
 |
21
|
|
| |
22
|
Y.-S. Yang, M. sik Jin, S.-I. Jun, and M.-S. Jung. A Study on an Efficient Pre-Resolution Method for Embedded Java System. Virtual Environments, Human-Computer Interfaces and Measurement Systems, pages 20--24, July 2004.
|
|