NUMA Memory Scheduling for Delay-Sensitive Service Modules

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-performance servers with non-uniform memory architecture (NUMA), memory access delays are significant, leading to performance degradation due to the saturation of computing power in single CPUs, necessitating efficient scheduling of memory access requests to optimize performance.

Innovation Solution

A method and apparatus that acquire monitoring data from service modules, determine a target service module sensitive to memory access delay, and allocate its memory access requests to a NUMA node with the largest memory usage or optimal resource availability, thereby reducing cross-NUMA node memory access and enhancing performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Power

If the number of CPUs is increased to acquire higher computing performance, then computing power is improved, but memory access delay increases due to cross-NUMA node access

Engineering Contradiction:
Improvecomputing powerVSAvoidmemory access delay
Core Design Contradiction:
PowerVSLoss of time

Solution Approach 1:

The system performs preliminary analysis of service module characteristics and monitoring data before memory allocation, identifying which service modules are sensitive to memory access delay. This preliminary classification enables the memory allocator to apply different allocation strategies in advance, ensuring that delay-sensitive modules receive local memory allocation before other considerations, thereby resolving the contradiction between increased CPU power and memory access delay

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The invention implements differentiated memory allocation strategies based on service module characteristics. For service modules identified as sensitive to memory access delay, the system allocates local NUMA node memory with priority, while other modules can utilize remote memory resources. This local quality approach ensures that critical modules experience minimal access delay while the system maintains overall high computing power through multiple CPUs

Inventive Principle:
Principle #3Local quality

2Loss of time

If local memory is allocated first in memory allocation, then memory access delay is reduced for local modules, but remote memory utilization is inefficient

Engineering Contradiction:
Improvememory access delayVSAvoidremote memory utilization
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The system continuously collects monitoring data from service modules including memory access patterns, access frequencies, and delay sensitivity metrics. This feedback mechanism allows the memory allocator to dynamically adjust allocation decisions, identifying modules that would benefit from local memory allocation while tracking the utilization status of remote memory resources, thereby optimizing both access delay and resource utilization

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The memory allocation strategy is implemented dynamically rather than statically. The system continuously monitors service module performance and memory usage patterns, adjusting allocation decisions in real-time based on current system state. This dynamic approach allows the system to prioritize local memory allocation for delay-sensitive modules while efficiently utilizing remote memory for other modules, resolving the contradiction between reducing access delay and improving remote memory utilization

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11372594B2Method and apparatus for scheduling memory access request, device and storage medium
Publication Date: 2022.06.28 BEIJING BAIDU NETCOM SCI & TECH CO LTD
  • US11372594B2 patent drawing
  • US11372594B2 patent drawing
  • US11372594B2 patent drawing

AI summary

The present disclosure provides a method and apparatus for scheduling a memory access request, an electronic device and a storage medium. The method may include: acquiring monitoring data of at least one service module; determining a target service module from the at least one service module based on the monitoring data; determining a target NUMA node matching the target service module from a preset NUMA node set, based on the monitoring data; and sending a memory access request of the target service module to the target NUMA node.