Technical Program
  Invited Speakers
  Technical Papers
  Practitioner Reports
Educators' Symposium
Doctoral Symposium
Student Research Comp.
Turing Lecture
Social Events
Week at a Glance
Final Program (1.5M .pdf)

Find in Program


view, help

"MC?: High-Performance Garbage Collection for Memory-Constrained Environments"
Object-Oriented Programming, Systems, Languages and Applications
Home    Program    Housing & Transportation    Registration    Submissions    Wiki    Maps
  > Technical Program > Technical Papers > Garbage Collection

 : Tuesday

MC?: High-Performance Garbage Collection for Memory-Constrained Environments

Meeting Rooms 1-3
Tuesday, 11:30, 30 minutes


Narendran Sachindran, University of Massachusetts, Amherst
Eliot Moss, University of Massachusetts, Amherst
Emery Berger, University of Massachusetts, Amherst

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 cannot be made fully incremental and so 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? (Memory-Constrained Copying), a copying, generational garbage collector that meets the demands of memory-constrained devices with soft real-time requirements. MC? has low space overhead and tight space bounds, prevents fragmentation, provides good throughput, and yields short pause times. These qualities make MC? also attractive for other environments, including desktop and server systems.

Keywords: Java, copying collector, generational collector, mark-copy, mark-sweep, mark-compact, memory-constrained copying