Thread Migration in NUMA Systems via Memory Access Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In Non-Uniform Memory Access (NUMA) systems, frequent cross-node memory accesses lead to significant performance degradation due to slower memory access times, as existing technologies lack a mechanism to dynamically optimize processor task placement and minimize inter-node communication.

Innovation Solution

A mechanism is introduced to track memory accesses by creating a thread-specific page table hierarchy, where memory management units set access bits to identify memory pages accessed by each thread, allowing for dynamic thread migration to optimize processor task placement and reduce memory access times.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If cross-node memory access is used to share data between processors, then data sharing capability is improved, but memory access speed deteriorates

Engineering Contradiction:
Improvedata sharing capabilityVSAvoidmemory access speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The system performs preliminary actions by tracking memory access patterns in advance and proactively migrating threads to optimal NUMA nodes before cross-node access becomes problematic. The memory management unit continuously monitors which memory pages are accessed by which threads and pre-positiones threads on nodes where their required memory is local, preventing slow cross-node access before it occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements feedback mechanisms by having the memory management unit continuously monitor memory access patterns and use this information to dynamically adjust thread placement. The system feeds back access statistics to the thread migration decision logic, which then migrates threads to optimize for the observed access patterns, creating a closed-loop system that continuously improves performance.

Inventive Principle:
Principle #23Feedback

2Loss of time

If thread migration is implemented to optimize memory access, then memory access latency is reduced, but system complexity increases

Engineering Contradiction:
Improvememory access latencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The system employs self-service by enabling threads to effectively service their own memory access needs through automatic migration. The memory management unit autonomously tracks which memory pages each thread accesses and automatically migrates threads to nodes where their required memory is local, without requiring manual intervention or complex external control mechanisms.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the parameter of thread placement dynamically based on observed memory access patterns. Instead of static thread-to-node assignment, the system continuously adjusts the placement parameter by migrating threads between NUMA nodes based on which memory pages are being accessed, transforming a static configuration into a dynamic adaptive system.

Inventive Principle:
Principle #35Parameter changes

3Measurement precision

If separate page tables are tracked for each thread, then memory access optimization precision is improved, but data structure complexity increases

Engineering Contradiction:
Improvememory access tracking precisionVSAvoiddata structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The system applies segmentation by creating separate page table tracking structures for each thread individually. The memory management unit maintains distinct access pattern information for each thread, allowing precise tracking of which memory pages each specific thread accesses. This per-thread segmentation enables accurate determination of optimal placement for each thread based on its unique access patterns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The page table structure serves multiple functions simultaneously: it continues to perform traditional virtual-to-physical address translation while also tracking memory access patterns for optimization purposes. By making the page table multi-functional, the system avoids creating entirely separate tracking structures, thereby reducing overall complexity while maintaining precise tracking capability.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS8656397B2Migrating groups of threads across NUMA nodes based on remote page access frequency
Publication Date: 2014.02.18 RED HAT ISRAEL
  • US8656397B2 patent drawing
  • US8656397B2 patent drawing
  • US8656397B2 patent drawing

AI summary

A mechanism for tracking memory accesses in a non-uniform memory access (NUMA) system to optimize processor task placement is disclosed. A method of embodiments of the invention includes creating a page table (PT) hierarchy associated with a thread to be run on a processor of a computing device, collecting access bit information from the PT hierarchy associated with the thread, wherein the access bit information includes any access bits in the PT hierarchy that are set by a memory management unit (MMU) of the processor to identify a page of memory accessed by the thread, determining memory access statistics for the thread, and utilizing the memory access statistics for the thread in a determination of whether to migrate the thread to another processor.