Memory Block Migration for NUMA CPU Utilization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In NUMA systems, the existing memory migration methods using memory pages as units result in a large number of migrations, leading to high CPU usage and low system performance when a large quantity of memory pages need to be migrated.
Innovation Solution
A memory migration method that scans memory pages accessed by a target process and combines them with other pages meeting specific block combination conditions into memory blocks, reducing the number of migrations by grouping discrete pages together.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If memory pages are used as units for migration, then migration granularity is fine-grained and flexible, but the quantity of migrations becomes large, leading to high CPU usage and low system performance
Solution Approach 1:
The patent combines multiple adjacent memory pages into a memory block for migration. Specifically, when a memory page needs to be migrated, the system checks if adjacent pages also need migration, and if so, merges them into a single memory block migration operation. This reduces the total number of migration operations while maintaining the flexibility of page-level granularity for determining which pages need migration.
2Manufacturing precision
If memory pages are used as units for migration, then migration precision is high, but the quantity of migrations increases, causing large CPU usage
Solution Approach 1:
The patent merges multiple memory page migration operations into a single memory block migration operation. By identifying adjacent pages that all need migration and combining them into one block, the system reduces the total number of migration operations and their associated overhead, thereby lowering CPU usage while maintaining precise control over which specific pages are migrated through the block selection logic.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A memory migration method and device are provided, and relate to the field of computer application technologies. A memory page is combined into a memory block, which reduces a quantity of migrations, and improves CPU utilization. The method includes: receiving, by a first node, a migration instruction sent by a second node (201); sequentially scanning each memory page between a physical address of a start memory page accessed by a target process and a physical address of an end memory page accessed by the target process (202), where the memory page is a memory page accessed by the target process or a memory page accessed by a non-target process; determining whether each memory page meets a block combination condition, and combining a memory page that meets the block combination condition into a corresponding memory block (203); and migrating the corresponding memory block to a memory area of the second node (204).