Title :
Packer: Parallel Garbage Collection Based on Virtual Spaces
Author :
Liu, Shaoshan ; Tang, Jie ; Wang, Ligang ; Li, Xiao-Feng ; Gaudiot, Jean-Luc
Author_Institution :
Microsoft, Redmond, WA, USA
Abstract :
The fundamental challenge of garbage collector (GC) design is to maximize the recycled space with minimal time overhead. For efficient memory management, in many GC designs the heap is divided into large object space (LOS) and normal object space (non-LOS). When either space is full, garbage collection is triggered even though the other space may still have plenty of room, thus leading to inefficient space utilization. Also, space partitioning in existing GC designs implies different GC algorithms for different spaces. This not only prolongs the pause time of garbage collection, but also makes collection inefficient on multiple spaces. To address these problems, we propose Packer, a parallel garbage collection algorithm based on the novel concept of virtual spaces. Instead of physically dividing the heap into multiple spaces, Packer manages multiple virtual spaces in one physical space. With multiple virtual spaces, Packer offers efficient memory management. With one physical space, Packer avoids the problem of an inefficient space utilization. To reduce the garbage collection pause time, we also propose a novel parallelization method that is applicable to multiple virtual spaces. Specifically, we reduce the compacting GC parallelization problem into a discreted acyclic graph (DAG) traversal parallelization problem, and apply it to both normal and large object compaction.
Keywords :
graph theory; parallel algorithms; virtual machines; virtual storage; DAG traversal parallelization problem; GC algorithms; GC designs; GC parallelization problem; Packer; discreted acyclic graph traversal parallelization problem; garbage collection pause time reduction; garbage collector design; large object compaction; large object space; memory management; minimal time overhead; multiple virtual space management; normal object compaction; normal object space; parallel garbage collection algorithm; parallelization method; recycled space maximization; space partitioning; space utilization; Aerospace electronics; Algorithm design and analysis; Compaction; Memory management; Partitioning algorithms; Resource management; Synchronization; Aerospace electronics; Algorithm design and analysis; Compaction; Garbage collection; Java virtual machine; Memory management; Partitioning algorithms; Resource management; Synchronization; memory management; parallel systems;
Journal_Title :
Computers, IEEE Transactions on
DOI :
10.1109/TC.2011.193