Space-and-time efficient garbage collectors for parallel systems

  • Authors:
  • Shaoshan Liu;Ligang Wang;Xiao-Feng Li;Jean-Luc Gaudiot

  • Affiliations:
  • University of California, Irvine, Irvine, CA, USA;Intel China Research Center, Beijing, China;Intel China Research Center, Beijing, China;University of California, Irvine, Irvine, CA, USA

  • Venue:
  • Proceedings of the 6th ACM conference on Computing frontiers
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

As multithreaded server applications and runtime systems prevail, garbage collection is becoming an essential feature to support high performance systems. The fundamental issue of garbage collector (GC) design is to maximize the recycled space with minimal time overhead. This paper proposes two innovative solutions: one to improve space efficiency, and the other to improve time efficiency. To achieve space efficiency, we propose the Space Tuner that utilizes the novel concept of allocation speed to reduce wasted space. Conventional static space partitioning techniques often lead to inefficient space utilization. The Space Tuner adjusts the heap partitioning dynamically such that when a collection is triggered, all space partitions are fully filled. To achieve time efficiency, we propose a novel parallelization method that reduces the compacting GC parallelization problem into a tree traversal parallelization problem. This method can be applied for both normal and large object compaction. Object compaction is hard to parallelize due to strong data dependencies such that the source object can not be moved to its target location until the object originally in the target location has been moved out. Our proposed algorithm overcomes the difficulties by dividing the heap into equal-sized blocks and parallelizing the movement of the independent blocks. It is noteworthy that these proposed algorithms are generic such that they can be utilized in different GC designs.