NUMA Memory-Tier Management for Process Performance Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems with non-uniform memory access (NUMA), the performance of one process can be affected by the memory access patterns of another process, making it difficult to guarantee a certain service level or performance isolation for individual processes, especially in multi-tenant environments.

Innovation Solution

Implementing a tier-management thread for each process to monitor and lock pages against demotion based on a service level, ensuring that a certain number or fraction of pages remain in the highest performance tier, thereby maintaining performance isolation and fairness among processes.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If memory pages are dynamically allocated across multiple NUMA tiers to optimize overall system performance, then memory throughput and latency are improved, but performance isolation between processes deteriorates

Engineering Contradiction:
Improvememory throughputVSAvoidperformance isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent segments memory management by introducing per-process tier-management threads that independently manage page allocations for each process. This segmentation allows the system to maintain global memory optimization while ensuring process-specific performance guarantees through isolated tier management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The tier-management thread acts as an intermediary between the page allocation subsystem and the process memory requirements. It mediates by locking pages against demotion based on service level agreements, ensuring that performance optimization does not compromise process isolation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If tier-management threads lock pages against demotion to guarantee service levels, then performance isolation is improved, but device complexity increases

Engineering Contradiction:
Improveperformance isolationVSAvoidtier management complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

Each process is assigned its own dedicated tier-management thread that autonomously manages its memory pages. This self-service approach simplifies the overall system architecture by eliminating the need for centralized coordination, as each thread independently handles its process's tier management requirements.

Inventive Principle:
Principle #25Self-service

3Reliability

If the number of locked pages is increased to ensure service level requirements, then reliability is improved, but memory availability for other processes decreases

Engineering Contradiction:
Improveservice level guaranteeVSAvoidmemory availability
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The system dynamically adjusts the number of locked pages based on service level requirements and memory availability. By changing the locking parameter adaptively, the system ensures adequate service level guarantees while preventing memory starvation, balancing reliability with resource availability.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP4343561B1Systems and methods for tier management in memory-tiering environments
Publication Date: 2025.07.30 SAMSUNG ELECTRONICS CO LTD
  • EP4343561B1 patent drawingFigure 1
  • EP4343561B1 patent drawingFigure 2A
  • EP4343561B1 patent drawingFigure 2B

AI summary

Systems and methods for tier management in memory-tiering environments. In some embodiments, a method includes accessing (505), by a first process, a first page of the first process in a first tier of a non-uniform memory access memory; and locking (510), by a first thread, the first page against demotion. The first thread may be a tier-management thread of the first process, and the locking of the first page may be based on a service level of the first process.