Skip to Main content Skip to Navigation

Garbage collector for memory intensive applications on NUMA architectures

Lokesh Gidra 1 
1 Regal - Large-Scale Distributed Systems and Applications
LIP6 - Laboratoire d'Informatique de Paris 6, Inria Paris-Rocquencourt
Abstract : Large-scale multicore architectures create new challenges for garbage collectors (GCs). On con-temporary cache-coherent Non-Uniform Memory Access (ccNUMA) architectures, applications with a large memory footprint suffer from the cost of the garbage collector (GC), because, as the GC scans the reference graph, it makes many remote memory accesses, saturating the interconnect between memory nodes. In this thesis, we address this problem with NumaGiC, a GC with a mostly-distributed design. In order to maximise memory access locality during collection, a GC thread avoids accessing a different memory node, instead notifying a remote GC thread with a message; nonetheless, NumaGiC avoids the drawbacks of a pure distributed design, which tends to decrease parallelism and increase memory access imbalance, by allowing threads to steal from other nodes when they are idle. NumaGiC strives to find a perfect balance between local access, memory access balance, and parallelism. In this work, we compare NumaGiC with Parallel Scavenge and some of its incrementally improved variants on two different ccNUMA architectures running on the Hotspot Java Virtual Machine of OpenJDK 7. On Spark and Neo4j, two industry-strength analytics applications, with heap sizes ranging from 160 GB to 350 GB, and on SPECjbb2013 and SPECjbb2005, NumaGiC improves overall performance by up to 94% over Parallel Scavenge, and increases the performance of the collector itself by up to 5.4× over Parallel Scavenge. In terms of scalability of GC throughput with increasing number of NUMA nodes, NumaGiC scales substantially better than Parallel Scavenge for all the applications. In fact in case of SPECjbb2005, where inter-node object references are the least among all, NumaGiC scales almost linearly.
Complete list of metadata

Cited literature [50 references]  Display  Hide  Download
Contributor : ABES STAR :  Contact
Submitted on : Monday, July 11, 2016 - 10:09:14 AM
Last modification on : Friday, January 21, 2022 - 3:21:39 AM
Long-term archiving on: : Wednesday, October 12, 2016 - 11:09:34 AM


Version validated by the jury (STAR)


  • HAL Id : tel-01248125, version 2


Lokesh Gidra. Garbage collector for memory intensive applications on NUMA architectures. Neural and Evolutionary Computing [cs.NE]. Université Pierre et Marie Curie - Paris VI, 2015. English. ⟨NNT : 2015PA066636⟩. ⟨tel-01248125v2⟩



Record views


Files downloads