NUMA Memory Access Management via Dynamic Status Indicators

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NUMA multiprocessor architectures, memory access efficiency is hindered by the complexity of data migration mechanisms, which are not always available and do not consistently optimize performance for massively parallel applications.

Innovation Solution

A method that dynamically manages memory access by using status indicators to determine the accessibility of logical memory entities, allowing data migration from one local memory to another when necessary, and updating the memory table to ensure data is stored in local memories for optimal application execution without substantial modifications to the system or applications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data migration mechanisms are implemented to optimize memory access in NUMA architectures, then application performance is improved, but system complexity increases

Engineering Contradiction:
Improveapplication performanceVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system automatically detects memory access patterns and performs data migration without external intervention. The memory management mechanism monitors access statistics and autonomously decides when and where to migrate data, eliminating the need for complex external control systems while maintaining performance optimization

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent changes the state parameter of memory entities from static to dynamic by introducing accessibility indicators that can transition between states. This allows the system to adapt memory accessibility parameters based on observed access patterns, optimizing performance through parameter adjustment rather than complex structural changes

Inventive Principle:
Principle #35Parameter changes

2Device complexity

If static memory allocation is used in NUMA architectures, then system simplicity is maintained, but memory access efficiency deteriorates

Engineering Contradiction:
Improvesystem simplicityVSAvoidmemory access efficiency
Core Design Contradiction:
Device complexityVSSpeed

Solution Approach 1:

The patent transforms static memory allocation into a dynamic system by introducing state indicators that reflect current accessibility conditions. Memory entities can change their accessibility state based on usage patterns, allowing the system to adapt to varying workloads without requiring complex reallocation mechanisms

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements a feedback mechanism where memory access patterns are monitored and used to update the accessibility state of memory entities. This feedback loop enables automatic optimization of memory placement based on actual usage, improving access efficiency while maintaining system simplicity through rule-based state transitions

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If data is stored in remote memories in NUMA architectures, then memory capacity is increased, but access time increases

Engineering Contradiction:
Improvememory capacityVSAvoidaccess time
Core Design Contradiction:
Quantity of substanceVSLoss of time

Solution Approach 1:

The patent applies local quality by associating different accessibility characteristics with different memory entities based on their location. Local memories are marked with indicators reflecting faster access, while remote memories have indicators reflecting slower access. This allows the system to make informed decisions about data placement and access optimization based on location-specific characteristics

Inventive Principle:
Principle #3Local quality

Data Source

PatentEP2652624B1Method, computer program, and device for managing memory access in a numa multiprocessor architecture
Publication Date: 2020.03.18 BULL SA
  • EP2652624B1 patent drawingFigure 1a~1c
  • EP2652624B1 patent drawingFigure 2
  • EP2652624B1 patent drawingFigure 3a~3b

AI summary

The invention particularly relates to managing memory access in a NUMA multiprocessor architecture including two computation units and at least two separate memories. Each memory, including at least one logic memory entity, is locally associated with a computation unit. After receiving a control for access to a logic memory entity, the status of an indicator of the status of said logic memory entity, i.e. a so-called first entity, to which said received command applies, is determined (215). If said indicator is in a first state, said received control is executed (220). If, on the contrary, said indicator is in a second state, data stored in said first entity is migrated (225) into a logic memory entity, or a so-called second entity, of a memory separate from the memory including said first entity, and the status of said second entity is placed into the first state (230).