Data Mover Selection via Memory Affinity in NUMA Systems

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In information handling systems with Non-Uniform Memory Access (NUMA) configurations, the conventional round-robin method for selecting data mover devices can result in inefficient data transfers due to varying memory access times based on the location of data mover devices relative to memory subsystems, leading to slower data transfers.

Innovation Solution

A data mover selection system that determines the priority of data mover devices based on their affinity to memory locations, using a data mover selection table that maps memory boundaries to data mover devices, prioritizing those with higher affinity (shorter distance) for performing data transfers, and transmitting instructions to the most suitable data mover device for efficient data transfers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If round-robin method is used for data mover device selection, then data transfer operations are distributed evenly across available devices, but data transfer efficiency deteriorates due to varying memory access times

Engineering Contradiction:
Improvedata transfer efficiencyVSAvoidmemory access time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent applies local quality by selecting data mover devices based on their specific affinity to source and destination memory locations. Instead of treating all data mover devices uniformly, the system identifies the optimal device for each specific data transfer operation by evaluating which device has the highest combined affinity to the source and destination memory regions, thereby optimizing performance for each local memory access pattern.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements preliminary action by pre-calculating and storing affinity information between data mover devices and memory locations in a lookup table during system initialization. This pre-computed affinity data is then used during runtime to quickly determine the optimal data mover device without performing complex real-time calculations, thus reducing decision latency while maintaining optimal selection.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If multiple data mover devices are provided in NUMA systems, then data transfer capacity increases, but device selection complexity increases due to varying affinities to memory locations

Engineering Contradiction:
Improvedata transfer capacityVSAvoiddata mover device selection
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent reduces selection complexity by pre-calculating affinity metrics between all data mover devices and all memory locations during system initialization, storing these pre-computed values in a lookup table. This eliminates the need for complex real-time affinity calculations during data transfer operations, transforming a potentially complex runtime problem into a simple table lookup operation.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an affinity lookup table as an intermediary structure that mediates between the data mover devices and memory locations. This table stores pre-computed affinity information, serving as a reference that simplifies the selection process by providing ready-made compatibility data between devices and memory regions without requiring complex real-time analysis.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If data mover devices are located at different positions relative to memory subsystems, then system flexibility increases, but data transfer speed varies due to different access times

Engineering Contradiction:
Improvesystem configuration flexibilityVSAvoiddata transfer speed
Core Design Contradiction:
Adaptability or versatilityVSSpeed

Solution Approach 1:

The patent addresses the speed variation caused by different device positions by applying local quality - optimizing the selection of data mover devices based on their specific location-relative affinity to source and destination memory regions. The system evaluates and selects the device with the highest combined affinity to the specific memory locations involved in each transfer operation, ensuring optimal speed for each local memory access pattern while maintaining overall system flexibility.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamics by making the data mover device selection adaptive to the specific source and destination memory locations of each transfer operation. Rather than using a static selection criterion, the system dynamically determines the optimal device for each operation based on the specific memory regions involved, allowing the system to adapt to varying memory access patterns and maintain high transfer speeds across different configuration scenarios.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS11347425B2Data mover selection system
Publication Date: 2022.05.31 DELL PROD LP
  • US11347425B2 patent drawing
  • US11347425B2 patent drawing
  • US11347425B2 patent drawing

AI summary

A data mover selection system includes a memory system coupled to first and second data mover devices, and an operating system coupled to the first and second data mover devices. The operating system determines that a first data transfer operation provides for the transfer of data between first and second memory locations in the memory system, and identifies the first data mover device for performing the first data transfer operation based on the first data mover device having a higher priority relative to the second data mover device for performing data transfers between the first and second memory locations in the memory system. In response, the operating system transmits a first data transfer instruction to the first data mover device that causes the first data mover device to perform the first data transfer operation to transfer data between the first and second memory locations in the memory system.