• Home
  • Search
  • NUMA-aware memory manager with dominant-thread-based copying GC
  • Cite Icon34
  • https://doi.org/10.1145/1639949.1640117Copy DOI Icon

NUMA-aware memory manager with dominant-thread-based copying GC

Show More
  • Abstract
  • Literature Map
  • References
  • Citations
  • Similar Papers
Abstract

We propose a novel online method of identifying the preferred NUMA nodes for objects with negligible overhead during the garbage collection time as well as object allocation time. Since the number of CPUs (or NUMA nodes) is increasing recently, it is critical for the memory manager of the runtime environment of an object-oriented language to exploit the low latency of local memory for high performance. To locate the CPU of a thread that frequently accesses an object, prior research uses the runtime information about memory accesses as sampled by the hardware. However, the overhead of this approach is high for a garbage collector. Our approach uses the information about which thread can exclusively access an object, or the Dominant Thread (DoT). The dominant thread of an object is the thread that often most accesses an object so that we do not require memory access samples. Our NUMA-aware GC performs DoT based object copying, which copies each live object to the CPU where the dominant thread was last dispatched before GC. The dominant thread information is known from the thread stack and from objects that are locked or reserved by threads and is propagated in the object reference graph. We demonstrate that our approach can improve the performance of benchmark programs such as SPECpower ssj2008, SPECjbb2005, and SPECjvm2008.We prototyped a NUMAaware memory manager on a modified version of IBM Java VM and tested it on a cc-NUMA POWER6 machine with eight NUMA nodes. Our NUMA-aware GC achieved performance improvements up to 14.3% and 2.0% on average over a JVM that only used the NUMA-aware allocator. The total improvement using both the NUMA-aware allocator and GC is up to 53.1% and 10.8% on average.

Similar Papers
  • Conference Article
  • Citations9

MCS: Memory Constraint Strategy for Unified Memory Manager in Spark

  • Dec 01, 2017
  • Ziyao Zhu +3
  • Conference Article
  • Citations14

Scalable hardware-algorithm for mark-sweep garbage collection

  • Sep 05, 2000
  • W Srisa-An +2
  • Research Article
  • Citations78

NUMA-aware graph-structured analytics

  • Jan 24, 2015
  • ACM SIGPLAN Notices
  • Kaiyuan Zhang +2
  • Research Article
  • Citations11

Thread-local heaps for Java

  • Jun 20, 2002
  • ACM SIGPLAN Notices
  • Tamar Domani +5
  • Research Article
  • Citations15

Partition Scheduling on Heterogeneous Multicore Processors for Multi-dimensional Loops Applications

  • Jul 15, 2016
  • International Journal of Parallel Programming
  • Yan Wang +2
  • Conference Article
  • Citations1

A Memory Access Performance Detection and Optimization Driven by Address Mapping

  • May 20, 2022
  • Weijia Hua +1
  • Book Chapter

A NUMA-Aware Parallel Truss Decomposition Algorithm for Large Scale Graphs

  • Jan 01, 2022
  • Zhebin Mou +2
  • Research Article
  • Citations171

Optimizing database architecture for the new bottleneck: memory access

  • Dec 01, 2000
  • The VLDB Journal
  • Stefan Manegold +2
  • Research Article
  • Citations135

Direct Cache Access for High Bandwidth Network I/O

  • May 01, 2005
  • ACM SIGARCH Computer Architecture News
  • Ram Huggahalli +2
  • Conference Article
  • Citations8

A performance analysis of the active memory system

  • Sep 23, 2001
  • Witawas Srisa-An +3
  • Conference Article
  • Citations82

Leave Me Alone: App-Level Protection against Runtime Information Gathering on Android

  • May 01, 2015
  • Nan Zhang +4
  • Research Article
  • Citations11

A library for developing real-time and embedded applications in C

  • Mar 31, 2015
  • Journal of Systems Architecture
  • Pablo Basanta-Val +1
  • Research Article
  • Citations127

Typed memory management via static capabilities

  • Jul 01, 2000
  • ACM Transactions on Programming Languages and Systems
  • David Walker +2
  • Research Article
  • Citations45

Dynamic scratchpad memory management for code in portable systems with an MMU

  • Jan 29, 2008
  • ACM Transactions on Embedded Computing Systems
  • Bernhard Egger +2
  • Research Article
  • Citations20

Design and analysis of static memory management policies for CC-NUMA multiprocessors

  • Aug 27, 2002
  • Journal of Systems Architecture
  • Ravishankar Iyer +2
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.