Thread Migration via Communication Distance and Contention Analysis

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multiprocessor systems, minimizing memory access latency and communication distance between CPUs and memory locations is challenging due to dynamic memory location changes and potential communication contention, which can lead to performance slowdowns.

Innovation Solution

A system that migrates threads to available CPUs based on computed average communication distance and estimated communication contention, using reinforcement-learning techniques to balance these factors and consider the costs of migration, while ensuring only threads with the highest benefit are moved when multiple threads compete for resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of time

If threads are assigned to CPUs to minimize communication distance, then memory access latency is reduced, but communication contention increases when multiple threads access the same memory locations

Engineering Contradiction:
Improvememory access latencyVSAvoidcommunication contention
Core Design Contradiction:
Loss of timeVSObject-generated harmful factors

Solution Approach 1:

The system performs preliminary analysis by computing communication vectors and estimating contention before thread migration occurs. It calculates the communication vector for each CPU based on the thread's memory access patterns and uses this information to predict contention levels, allowing the system to make informed migration decisions that avoid high-contention scenarios.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The communication vector serves as an intermediary representation that captures both communication distance and contention information. Instead of directly handling complex contention analysis, the system uses this vector as a mediator to compare CPU options and make migration decisions, simplifying the decision-making process while accounting for both latency and contention factors.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If thread migration is performed frequently to optimize communication distance, then thread completion time is reduced, but migration overhead and system complexity increase

Engineering Contradiction:
Improvethread completion timeVSAvoidmigration management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service by allowing each CPU to autonomously compute its own communication vector and evaluate its suitability for receiving migrating threads. Each CPU independently calculates the communication distance and estimated contention based on its own memory access patterns, eliminating the need for centralized coordination and reducing overall system complexity.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes the parameters used for thread assignment from simple distance metrics to a composite evaluation that includes communication vectors and contention estimates. By using these enriched parameters, the system can make more informed migration decisions that balance productivity gains against the complexity of migration management.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the system considers both communication distance and contention for thread migration decisions, then thread scheduling optimality is improved, but the computational cost of migration decisions increases

Engineering Contradiction:
Improvethread scheduling optimalityVSAvoidcomputational cost of migration decisions
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system performs preliminary computation of communication vectors for all CPUs before making migration decisions. By pre-calculating these vectors based on current memory access patterns, the system prepares the necessary information in advance, reducing the computational burden during actual migration decision-making while maintaining optimal scheduling.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses communication vectors as a simplified copy or representation of the complex CPU-state information needed for migration decisions. Instead of copying entire CPU states or performing exhaustive analyses, the system creates these vector representations that capture the essential characteristics (distance and contention) needed for optimal scheduling with reduced computational cost.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS7665089B1Facilitating distributed thread migration within an array of computing nodes
Publication Date: 2010.02.16 SUN MICROSYSTEMS INC
  • US7665089B1 patent drawing
  • US7665089B1 patent drawing
  • US7665089B1 patent drawing

AI summary

One embodiment of the present invention provides a system that performs thread migration within an array of computing nodes, wherein computing nodes in the array contain central processing units (CPUs) and/or memories. During operation, the system identifies CPUs within the array of computing nodes that are available to accept a given thread. For each available CPU, the system computes an average communication distance between the CPU and memories which are accessed by the given thread. Next, the system determines whether to move the given thread to an available CPU based on the average communication distance for the available CPU.