Dynamic Memory Affinity Adjuster for NUMA Latency Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor computing systems with non-uniform memory access (NUMA) configurations, memory access latency varies significantly across different memory locations and processors, leading to inefficiencies in data access and processing performance due to remote memory access latency differences.

Innovation Solution

The system performs dynamic memory reference sampling to identify segments with sub-optimal latency, adjusts the physical location of memory pages and processes to more efficient nodes or CPUs, and schedules processes to execute on nodes with lower latency, thereby reducing memory access latency and improving overall system performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If a process is configured to execute on a node with data stored in remote memory, then the system can utilize distributed memory resources, but memory access latency increases significantly

Engineering Contradiction:
Improvedistributed memory resourcesVSAvoidmemory access latency
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent implements dynamic memory affinity adjustment by continuously monitoring memory access patterns and automatically remapping memory segments to optimize the balance between distributed memory utilization and access latency. The system dynamically changes the physical location of memory pages based on runtime conditions rather than using static allocation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system employs feedback mechanisms by monitoring memory access latency and access patterns, then using this information to make intelligent decisions about memory placement. The affinity adjuster receives feedback from performance counters and memory management units to continuously optimize memory distribution across NUMA nodes.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If memory segments are statically allocated to specific nodes, then memory management is simplified, but memory access latency cannot be optimized for varying workloads

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

Solution Approach 1:

The patent transforms static memory allocation into a dynamic system where memory affinity is continuously adjusted based on runtime performance data. The affinity adjustor modifies memory segment locations in response to changing workload conditions, enabling the system to adapt to varying access patterns while maintaining manageable complexity through automated control.

Inventive Principle:
Principle #15Dynamics

3Loss of time

If the system continuously monitors and adjusts memory affinity, then memory access latency is optimized, but system complexity increases

Engineering Contradiction:
Improvememory access latencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system implements self-service memory optimization by automatically monitoring its own performance characteristics and making autonomous decisions about memory placement. The affinity adjustor operates independently to optimize memory affinity without requiring external intervention or complex manual configuration, reducing the burden on system operators.

Inventive Principle:
Principle #25Self-service

4Quantity of substance

If remote memory access is used in NUMA systems, then memory capacity is increased, but access speed decreases due to transmission path length and node distance

Engineering Contradiction:
Improvememory capacityVSAvoidaccess speed
Core Design Contradiction:
Quantity of substanceVSSpeed

Solution Approach 1:

The patent applies local quality optimization by identifying and prioritizing local memory access while minimizing remote access. The system analyzes memory access patterns to determine which memory segments should be placed on local versus remote nodes, creating differentiated memory placement strategies based on access frequency and latency requirements.

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS9684600B2Dynamic process/object scoped memory affinity adjuster
Publication Date: 2017.06.20 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US9684600B2 patent drawing
  • US9684600B2 patent drawing
  • US9684600B2 patent drawing

AI summary

An apparatus, method, and program product for optimizing a multiprocessor computing system by sampling memory reference latencies and adjusting components of the system in response thereto. During execution of processes the computing system, memory reference sampling of memory locations from shared memory of the computing system referenced in the executing processes is performed. Each sampled memory reference collected from sampling is associated with a latency and a physical memory location in the shared memory. Each sampled memory reference is analyzed to identify segments of memory locations in the shared memory corresponding to a sub-optimal latency, and based on the analyzed sampled memory references, the physical location of the one or more identified segments, the processor on which one or more processes referencing the identified segments, and/or a status associated with the one or more identified segments is dynamically adjusted to thereby optimize memory access for the multiprocessor computing system.