by Narendran Sachindran, J. Eliot, B. Moss, Emery D. Berger
http://www.cs.umass.edu/~emery/pubs/p105-sachindran.pdf
Add To MetaCart
Abstract:
Java is becoming an important platform for memory-constrained consumer devices such as PDAs and cellular phones, because it provides safety and portability. Since Java uses garbage collection, efficient garbage collectors that run in constrained memory are essential. Typical collection techniques used on these devices are mark-sweep and mark-compact. Mark-sweep collectors can provide good throughput and pause times but suffer from fragmentation. Mark-compact collectors prevent fragmentation, have low space overheads, and provide good throughput. However, they can suffer from long pause times. Copying collectors can provide higher throughput than either of these techniques, but because of their high space overhead, they previously were unsuitable for memory-constrained devices. This paper presents MC 2 (Memory-Constrained Copying), a copying generational garbage collector that meets the needs of memory-constrained devices with soft real-time requirements. MC 2 has low space overhead and tight space bounds, prevents fragmentation, provides good throughput, and yields short pause times. These qualities make MC 2 attractive for other environments, including desktops and servers. Categories and Subject Descriptors D.3.4 [Programming Languages]: Processors—Memory management
Citations
|
381
|
Uniprocessor Garbage Collection Techniques
– Wilson
- 1992
|
|
280
|
Generation scavenging: A non-disruptive high performance storage reclamation algorithm
– Ungar
- 1984
|
|
239
|
Recursive functions of symbolic expressions and their computation by machine, part 1
– McCarthy
- 1960
|
|
226
|
The Jalepeño virtual machine
– Alpern, Attanasio, et al.
- 2000
|
|
216
|
A Real-Time Garbage Collector Based on the Lifetimes of Objects
– Lieberman, Hewitt
- 1983
|
|
193
|
A non-recursive list compacting algorithm
– Cheney
- 1970
|
|
167
|
Steffens “On−the−fly Garbage Collection: An Exercise in Cooperation
– Dijkstra, Lamport, et al.
- 1978
|
|
76
|
List processing in real-time on a serial computer
– Baker
- 1978
|
|
76
|
Trading data space for reduced time and code space in real-time garbage collection on stock hardware
– Brooks
- 1984
|
|
71
|
Implementing Jalapeño in Java
– Alpern, Attanasio, et al.
- 1999
|
|
64
|
Jr.: Multiprocessing Compactifying Garbage Collection
– Steele
- 1975
|
|
60
|
The memory fragmentation problem: Solved
– Johnstone, Wilson
- 1998
|
|
56
|
A parallel, real-time garbage collector
– Cheng, Belloch
- 2001
|
|
53
|
Oil and Water? High Performance Garbage Collection in Java with MMTk
– Blackburn, Cheng, et al.
- 2004
|
|
45
|
Real-time garbage collection on general-purpose machines
– Yuasa
- 1990
|
|
43
|
Incremental garbage collection for mature objects
– Hudson, Moss
- 1992
|
|
27
|
Performance Evaluation Corporation. SPECjvm98 Documentation, release 1.03 edition
– Standard
- 1999
|
|
21
|
Controlling fragmentation and space consumption in the Metronome, a real-time garbage collector for Java
– Bacon, Cheng, et al.
- 2003
|
|
21
|
Mark-copy: Fast copying gc with less space overhead
– SACHINDRAN, B
|
|
17
|
Comparison of compacting algorithms for garbage collection
– Cohen, Nicolau
- 1983
|
|
17
|
A fast garbage compaction algorithm
– Jonkers
- 1979
|
|
16
|
An efficient machine independent procedure for garbage collection in various list structures
– Schorr, Waite
- 1967
|
|
15
|
Performance Evaluation Corporation. SPECjbb2000 (Java Business Benchmark) Documentation, release 1.01 edition
– Standard
- 2001
|
|
13
|
or out? Putting write barriers in their place
– In
- 2002
|
|
12
|
A real-time garbage collecor with low overhead and consistent utilization
– Bacon, Cheng, et al.
- 2003
|
|
10
|
An algorithm for parallel incremental compaction
– Ben-Yitzhak, Goft, et al.
- 2002
|
|
10
|
A compaction procedure for variable length storage elements
– Haddon, Waite
- 1967
|
|
4
|
An Efficient Garbage Compaction Algorithm
– Martin
- 1982
|
|
3
|
Erez Petrank, and Zvi Yehudai. Combining card marking with remembered sets: How to save scanning time
– Azagury, Kolodner
- 1998
|
|
1
|
PERC virtual machine. http://www.newmonics.com/perc/info.shtml
– Inc
|
|
1
|
The CLDC HotSpot Implementation Virtual
– Microsystems
- 2004
|