|
ABSTRACT
Security concerns on embedded devices like cellular phones make Java an extremely attractive technology for providing third-party and user-downloadable functionality. However, garbage collectors have typically required several times the maximum live data set size (which is the minimum possible heap size) in order to run well. In addition, the size of the virtual machine (ROM) image and the size of the collector's data structures (metadata) have not been a concern for server- or workstation-oriented collectors.We have implemented two different collectors specifically designed to operate well on small embedded devices. We have also developed a number of algorithmic improvements and compression techniques that allow us to eliminate almost all of the per-object overhead that the virtual machine and the garbage collector require. We describe these optimizations and present measurements of the Java embedded benchmarks (EEMBC) of our implementations on both an IA32 laptop and an ARM-based PDA.For applications with low to moderate allocation rates, our optimized collector running on the ARM is able to achieve 85% of peak performance with only 1.05 to 1.3 times the absolute minimum heap size. For applications with high allocation rates, the collector achieves 85% of peak performance with 1.75 to 2.5 times the minimum heap size. The collector code takes up 40 KB of ROM, and collector metadata overhead has been almost completely eliminated, consuming only 0.4% of the heap.
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
|
David F. Bacon , Ravi Konuru , Chet Murthy , Mauricio Serrano, Thin locks: featherweight synchronization for Java, Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation, p.258-268, June 17-19, 1998, Montreal, Quebec, Canada
|
 |
5
|
|
 |
6
|
|
 |
7
|
|
 |
8
|
|
| |
9
|
|
 |
10
|
|
 |
11
|
G. Chen , R. Shetty , M. Kandemir , N. Vijaykrishnan , M. J. Irwin , M. Wolczko, Tuning garbage collection for reducing memory system energy in an embedded java environment, ACM Transactions on Embedded Computing Systems (TECS), v.1 n.1, p.27-55, November 2002
[doi> 10.1145/581888.581892]
|
 |
12
|
|
 |
13
|
|
 |
14
|
|
 |
15
|
|
 |
16
|
|
| |
17
|
Culler, D. E., Hill, J., Buonadonna, P., Szewczyk, R., and Woo, A. A network-centric approach to embedded software for tiny devices.
|
| |
18
|
Steven M. Donahue , Matthew P. Hampton , Morgan Deters , Jonathan M. Nye , Ron Cytron , Krishna M. Kavi, Storage Allocation for Real-Time, Embedded Systems, Proceedings of the First International Workshop on Embedded Software, p.131-147, October 08-10, 2001
|
| |
19
|
Embedded Microprocessor Benchmark Consortium. Java GrinderBench version 1.0. www.eembc.org, 2004.
|
 |
20
|
|
 |
21
|
|
 |
22
|
|
| |
23
|
Henriksson, R. Scheduling Garbage Collection in Embedded Systems. PhD thesis, Lund Institute of Technology, July 1998.
|
| |
24
|
IBM Corporation. Websphere micro environment. www.ibm.com/software/wireless/wme, 2004.
|
| |
25
|
|
| |
26
|
Jones, R., and Lins, R. Garbage Collection. John Wiley and Sons, 1996.
|
| |
27
|
|
 |
28
|
|
 |
29
|
Patrik Persson, Live memory analysis for garbage collection in embedded systems, Proceedings of the ACM SIGPLAN 1999 workshop on Languages, compilers, and tools for embedded systems, p.45-54, May 05-05, 1999, Atlanta, Georgia, United States
|
| |
30
|
|
 |
31
|
|
| |
32
|
Saunders, R. A. The LISP system for the Q-32 computer. In The Programming Language LISP: Its Operation and Applications, E. C. Berkeley and D. G. Bobrow, Eds. MIT Press, Cambridge, Massachussetts, 1964, pp. 220--238.
|
 |
33
|
Fridtjof Siebert, Eliminating external fragmentation in a non-moving garbage collector for Java, Proceedings of the 2000 international conference on Compilers, architecture, and synthesis for embedded systems, p.9-17, November 17-19, 2000, San Jose, California, United States
[doi> 10.1145/354880.354883]
|
| |
34
|
|
 |
35
|
|
| |
36
|
|
| |
37
|
Wilson, G., Ostrem, J., and Bey, C. Palm OS Programmer's Companion, vol. 1. Palm Source, Inc., 2003. Document no. 3004-008.
|
CITED BY 6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Víctor Braberman , Federico Fernández , Diego Garbervetsky , Sergio Yovine, Parametric prediction of heap memory requirements, Proceedings of the 7th international symposium on Memory management, June 07-08, 2008, Tucson, AZ, USA
|
|
|
Joshua Auerbach , David F. Bacon , Daniel T. Iercan , Christoph M. Kirsch , V. T. Rajan , Harald Roeck , Rainer Trummer, Java takes flight: time-portable real-time programming with exotasks, ACM SIGPLAN Notices, v.42 n.7, July 2007
|
|