Page Migration Tracking Module for NUMA Memory Affinity
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Non-uniform memory access (NUMA) systems face challenges in maintaining high memory affinity due to process migration, which leads to performance degradation from increased remote memory accesses, as existing solutions either restrict flexibility or incorrectly migrate pages.
Innovation Solution
A page migration tracking module is used to manage process migration by tracking memory affinity access patterns, dynamically migrating pages to maintain local memory access by updating page IDs and memory affinity IDs based on access counters and patterns, ensuring that frequently accessed pages are relocated to the appropriate memory affinity domain.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If process migration is allowed for load balancing and processor folding, then system flexibility and resource utilization are improved, but memory affinity is lost leading to performance degradation
Solution Approach 1:
The patent applies preliminary action by proactively tracking memory access patterns before process migration occurs. The page migration tracking module continuously monitors which pages are accessed by which processors, building a knowledge base of memory affinity relationships. When process migration is needed for load balancing or processor folding, this pre-collected information enables the system to migrate pages along with the process, preserving memory affinity and avoiding performance degradation while maintaining system flexibility.
Solution Approach 2:
The patent implements feedback through the page migration tracking module that continuously monitors memory access patterns and provides information about which pages should be migrated with processes. This feedback mechanism allows the system to make informed decisions about page migration, ensuring that memory affinity is maintained during process migration events. The tracking module feeds back access pattern information to the memory management system, enabling dynamic adjustment of page locations to match process locations.
2Productivity
If process migration is completely banned to preserve memory affinity, then memory affinity is maintained, but system flexibility for load balancing and processor folding is lost
Solution Approach 1:
Instead of banning process migration, the patent applies preliminary action by preparing the memory system in advance. The page migration tracking module continuously builds knowledge about memory access patterns before migration is needed. When process migration becomes necessary for load balancing or processor folding, the system has already gathered the information needed to migrate the appropriate pages along with the process, thus preserving memory affinity without restricting process migration flexibility.
Solution Approach 2:
The patent applies dynamics by making the memory system adaptive rather than static. Instead of fixing processes to specific processors (which would maintain affinity but reduce flexibility), the system dynamically tracks access patterns and migrates pages to follow processes. This dynamic approach allows process migration to occur freely for load balancing and processor folding while automatically maintaining memory affinity through intelligent page migration based on real-time or near-real-time tracking data.
3Productivity
If pages are migrated along with process migration, then memory affinity may be preserved, but wrong pages may be migrated reducing memory affinity system-wide
Solution Approach 1:
The patent solves the problem of migrating wrong pages by implementing feedback through continuous monitoring of memory access patterns. The page migration tracking module observes which pages are actually accessed by which processors over time, providing accurate feedback about true memory affinity relationships. This empirical data-driven approach replaces guessing or heuristic-based page selection with factual information about actual access patterns, ensuring that only pages with demonstrated affinity to the migrating process are migrated, thereby avoiding unnecessary or harmful page migrations.
Solution Approach 2:
The system applies self-service by allowing the memory access patterns themselves to identify which pages should be migrated. Rather than requiring complex external analysis or heuristics to determine page migration candidates, the actual memory access behavior of the process reveals the answer. Pages that are frequently accessed by the process naturally stand out as migration candidates, making the selection process self-evident from the data and reducing the risk of selecting wrong pages for migration.
Data Source
AI summary
Techniques for preserving memory affinity in a computer system is disclosed. In response to a request for memory access to a page within a memory affinity domain, a determination is made if the request is initiated by a processor associated with the memory affinity domain. If the request is not initiated by a processor associated with the memory affinity domain, a determination is made if there is a page ID match with an entry within a page migration tracking module associated with the memory affinity domain. If there is no page ID match, an entry is selected within the page migration tracking module to be updated with a new page ID and a new memory affinity ID. If there is a page ID match, then another determination is made whether or not there is a memory affinity ID match with the entry with the page ID field match. If there is no memory affinity ID match, the entry is updated with a new memory affinity ID; and if there is a memory affinity ID match, an access counter of the entry is incremented.


