NUMA Memory Scheduling for Delay-Sensitive Service Modules
Find Innovative SolutionsGenerate 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
Engineering 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
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
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
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
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
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
Data Source
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.


