We should port the NUMA allocator from ParallelGC to G1 to improve G1's performance on NUMA architectures. The high-level idea is to have a pool of G1 regions associated with each lgroup and one allocating region per lgroup. So, at the point of slow path allocation (i.e., when allocating a new TLAB or an object outside a TLAB) we should decide which current allocating region to allocate out of.
JDK-8210473 JEP 345: NUMA-Aware Memory Allocation for G1
- relates to
JDK-8046147 JEP 157: G1 GC: NUMA-Aware Allocation