NUMA Memory Access Control with Remote Page Copying

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In NUMA systems, performance is degraded due to remote memory access latency, which affects parallel processing in many-core processors.

Innovation Solution

An apparatus and method that determine whether a memory access is local or remote, and if remote, copy the data to local memory to minimize latency, using page tables and remote page tables to manage memory access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If remote memory access is performed between nodes or sockets in a NUMA system, then data accessibility is improved, but access latency increases significantly

Engineering Contradiction:
Improvedata accessibilityVSAvoidaccess latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by copying remote memory pages to local memory before actual access is needed. When a remote memory access is detected, the page is proactively copied to local memory, so subsequent accesses can be served locally without incurring remote access latency. This preliminary copying action resolves the contradiction by preparing data in advance to eliminate future time losses.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system creates a local copy of remote memory pages in local memory, allowing the processor to access the copied data locally rather than repeatedly accessing remote memory. This copying mechanism maintains data accessibility while eliminating the time penalty of remote access, directly resolving the technical contradiction between accessibility and latency.

Inventive Principle:
Principle #26Copying

2Loss of time

If page copying is performed for remote memory access, then access latency is reduced, but memory management complexity increases

Engineering Contradiction:
Improveaccess latencyVSAvoidmemory management complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system introduces an intermediary memory structure called a remote page table that sits between the virtual memory system and physical memory. This remote page table manages the mapping and copying of remote pages automatically, reducing the complexity burden on the main memory management system while enabling efficient page copying to reduce access latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The memory management system is segmented into local page tables for local memory and remote page tables for remote memory. This segmentation allows independent management of local and remote memory resources, simplifying the overall complexity by dividing the memory management task into manageable segments that can be handled separately.

Inventive Principle:
Principle #1Segmentation

3Productivity

If remote page tables are generated and maintained, then remote memory access efficiency is improved, but system resource consumption increases

Engineering Contradiction:
Improveremote memory access efficiencyVSAvoidsystem resource consumption
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system applies partial action by maintaining remote page tables only for the specific memory pages that require remote access, rather than managing all memory uniformly. This selective approach improves remote memory access efficiency for the necessary pages while minimizing the resource consumption associated with maintaining page table structures, avoiding excessive resource usage.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS12299292B2Apparatus and method with remote page access
Publication Date: 2025.05.13 SAMSUNG ELECTRONICS CO LTD
  • US12299292B2 patent drawing
  • US12299292B2 patent drawing
  • US12299292B2 patent drawing

AI summary

An apparatus includes a memory configured to store data, and a processor. The processor configured to determine whether an access to the data is a local memory access; determine, based on a result of the determination of whether the access to the data is the local memory access, whether a page fault of the access occurred; determine, based on a result of the determination of whether the page fault occurred, whether the access is a remote access outside a socket; and perform, based on a result of the determination of whether the access is the remote access, the access to the data by copying the data onto a local memory.