NUMA Memory Locality Caching for Garbage Collection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In non-uniform memory access (NUMA) systems, garbage collection processes are time-consuming and lead to significant processing overhead, particularly due to the need to access memory locations that are faster for one set of processors than for another, causing long pauses in application programs and reducing system performance.

Innovation Solution

The method involves determining the locality domain of a memory unit and caching this information to facilitate affinity-based garbage collection, where garbage collection operations are allocated to the processor most closely coupled to the memory region, reducing unnecessary memory scans and improving processing efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If garbage collection processes access memory locations in NUMA systems, then memory management is performed, but processing overhead increases and system performance decreases

Engineering Contradiction:
Improvesystem performanceVSAvoidprocessing overhead
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies preliminary action by pre-determining and caching the locality domain information of memory units before garbage collection operations are performed. The system calculates and stores the mapping between memory addresses and their corresponding locality domains in advance, so that during garbage collection, the processor can directly use this cached information to identify which processor should handle each memory location without performing time-consuming lookups at runtime. This resolves the contradiction by preparing the locality domain data beforehand, eliminating the processing overhead during actual garbage collection operations.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If processors access remote memory on different books, then memory access is enabled, but latency increases and bandwidth issues occur

Engineering Contradiction:
Improvememory access capabilityVSAvoidaccess latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The patent applies local quality by organizing garbage collection operations according to the locality domain of each memory unit. The system determines which processor has local affinity to each memory location and assigns the garbage collection task for that memory to the local processor. This ensures that processors primarily access local memory on their own book, minimizing remote memory accesses across the interconnect network. By making the garbage collection process locality-aware, the system maintains memory access capability while dramatically reducing access latency and network bandwidth consumption.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If locality domain information is retrieved for each memory access, then affinity evaluation is enabled, but processing overhead increases

Engineering Contradiction:
Improveaffinity evaluation capabilityVSAvoidprocessing overhead
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies copying by creating and maintaining a cached copy of the locality domain information for each memory unit. Instead of repeatedly querying the system to determine the locality domain of memory locations during garbage collection, the system pre-computes and stores this information in a cache structure. When a garbage collection operation needs to process a memory location, it simply retrieves the pre-stored locality domain information from the cache, avoiding repeated complex evaluations. This copying approach preserves the adaptability of affinity evaluation while significantly reducing the processing overhead associated with repeated queries.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11119942B2Facilitating access to memory locality domain information
Publication Date: 2021.09.14 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11119942B2 patent drawing
  • US11119942B2 patent drawing
  • US11119942B2 patent drawing

AI summary

Processing within a computing environment is facilitated by ascertaining locality domain information of a unit of memory to processing capability within the computing environment. Once ascertained, the locality domain information of the unit of memory may be cached in a data structure to facilitate one or more subsequent lookups of the locality domain information associated with one or more affinity evaluations of the unit of memory to processing capability of the computing environment.