Header menu link for other important links
X
FastCollect: Offloading generational garbage collection to integrated GPUs
Published in Association for Computing Machinery, Inc
2016
Abstract
Generational Mark-Sweep Garbage Collection is a widely used garbage collection technique. However, the garbage collector has poor execution efficiency for large programs. Aggressive collection causes execution pauses in the program, while reducing the collection frequency leads to memory wastage. In this work, we develop FastCollect, a parallel version of the generational mark-sweep garbage collector running on a graphics processing unit (GPU). At the core of our parallel implementation lies a parallel Depth First Search using a space-efficient concurrent stack, which we develop for the young and the mature garbage collection. To further improve performance, (i) we reduce thread-divergence and improve loadbalancing by devising a distributed work-stealing approach, (ii) we optimize our garbage collection algorithm to reduce the number of atomic instructions, (iii) we exploit the memory hierarchy to design a hybrid stack, and (iv) we extract multiple adjacent objects simultaneously by exploiting vectorized memory accesses. We implemented FastCollect in Java Hotspot VM and evaluated our results by executing DaCapo benchmarks. FastCollect is 4-5× faster than the Parallel Hotspot garbage collector and 42% faster than a previous GPU implementation. In addition, while the existing GPU version requires memory linear in the number of compute units, FastCollect's memory requirement is fixed and low. FastCollect not only improves execution time of garbage collection, but also relieves the CPU for improved user interaction. © 2016 ACM.
Concepts (16)
  •  related image
    Collector efficiency
  •  related image
    Computer graphics
  •  related image
    Computer graphics equipment
  •  related image
    Embedded systems
  •  related image
    Memory architecture
  •  related image
    Program compilers
  •  related image
    Program processors
  •  related image
    COLLECTION FREQUENCY
  •  related image
    Garbage collection
  •  related image
    Garbage collection algorithm
  •  related image
    Graphics processing unit
  •  related image
    MARK-SWEEP GARBAGE COLLECTORS
  •  related image
    PARALLEL GARBAGE COLLECTION
  •  related image
    PARALLEL IMPLEMENTATIONS
  •  related image
    SIMT
  •  related image
    Refuse collection