NUMA Memory Allocation Using Access Latency and Page Cache

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Non-uniform memory access (NUMA) systems face challenges in determining target nodes without considering access latency, leading to inefficient memory allocation and management.

Innovation Solution

An electronic device and memory management method that allocates memory based on access latency and page cache hit ratio, prioritizing faster nodes for pages with mapped files and slower nodes for unmapped files, enhancing memory performance and efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If memory allocation in NUMA systems is performed without considering access latency, then memory allocation simplicity is maintained, but memory access performance deteriorates

Engineering Contradiction:
Improvememory allocation simplicityVSAvoidmemory access speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The system performs preliminary actions by determining access latency and checking page cache hit ratios before memory allocation. The memory management unit proactively gathers information about access patterns and cache status, then uses this information to pre-determine the optimal target node for memory allocation, avoiding the need for runtime adjustments and improving access speed while maintaining allocation simplicity

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by monitoring page cache hit ratios and access latency patterns. This feedback information is used to dynamically adjust memory allocation decisions, ensuring that pages are allocated to nodes that have demonstrated better access performance and cache utilization, thereby improving memory access speed without complicating the allocation process

Inventive Principle:
Principle #23Feedback

2Device complexity

If memory pages are allocated without considering page cache hit ratio, then allocation process is simplified, but memory usage efficiency deteriorates

Engineering Contradiction:
Improveallocation process complexityVSAvoidmemory usage efficiency
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The system changes the allocation parameters by incorporating page cache hit ratio as a key decision criterion. Instead of using simple first-fit or round-robin allocation, the memory management unit evaluates the page cache hit ratio of candidate nodes and selects the node with the optimal ratio, improving memory usage efficiency while managing complexity through automated parameter evaluation

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If all memory nodes are treated equally in allocation, then allocation fairness is maintained, but access performance varies due to latency differences

Engineering Contradiction:
Improveallocation fairnessVSAvoidaccess latency
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The system applies local quality by treating different memory nodes differently based on their specific characteristics. Instead of uniform allocation, the memory management unit evaluates local conditions such as access latency and page cache hit ratio for each node, then allocates pages to the node with the most favorable local conditions, reducing access latency while maintaining fairness through performance-based allocation

Inventive Principle:
Principle #3Local quality

Data Source

PatentUS20250306789A1Electronic device and memory management method
Publication Date: 2025.10.02 SAMSUNG ELECTRONICS CO LTD
  • US20250306789A1 patent drawing
  • US20250306789A1 patent drawing
  • US20250306789A1 patent drawing

AI summary

An electronic device and a method for memory management are provided. The electronic device may include a first memory in a first node; a second memory in a second node having a slower access speed than the first node; and a third memory storing one or more instructions, that when executed, cause the electronic device to receive a request for memory allocation of a page; determine whether the request is for a file that has at least one page mapped to any memory from the one or more memories; and allocate the page to the first memory in the first node based on the file having at least one page mapped to the memory.