Cluster Node Power Allocation via Runtime Performance Variation Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing applications in multi-node clusters face performance variation due to differences in processor processes, operating system noise, and resource contention, leading to inefficiencies where some nodes waste power while waiting for others to finish tasks, limiting overall progress.

Innovation Solution

A system that uses runtime detection of performance variation by tracking performance parameters across nodes, building a model to classify nodes as critical or non-critical, and dynamically adjusting power allocation based on these classifications to ensure balanced execution.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If nodes execute tasks at full power to ensure fast completion, then task completion speed is improved, but power consumption increases and early-finishing nodes waste energy while waiting for synchronization

Engineering Contradiction:
Improvetask completion speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The system dynamically adjusts the power allocation and execution speed of each node based on real-time performance monitoring and predictions. Nodes that are predicted to finish early are dynamically slowed down to match the critical path nodes, eliminating wasted energy while maintaining overall task completion speed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements continuous feedback loops where performance parameters are monitored, predictions are updated, and power allocation is adjusted accordingly. This closed-loop control ensures that nodes adapt their power consumption based on actual system state and predicted synchronization needs.

Inventive Principle:
Principle #23Feedback

2Stability of the object's composition

If nodes are synchronized to wait for the slowest task, then balanced execution is achieved, but early-finishing nodes waste power and time during waiting periods

Engineering Contradiction:
Improveexecution balanceVSAvoidwaiting time
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

Instead of static synchronization where all nodes wait for the slowest node, the system dynamically adjusts each node's execution speed to match predictions of when they will need to synchronize. This eliminates idle waiting time while maintaining synchronization balance.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary predictions about which nodes will be on the critical path and adjusts their speed in advance. This preliminary action allows nodes to optimize their execution speed before actual synchronization points are reached, reducing both waiting time and power waste.

Inventive Principle:
Principle #10Preliminary action

3Loss of energy

If performance parameters are continuously monitored and power allocation is dynamically adjusted, then energy efficiency is improved, but system complexity increases due to training phases and prediction models

Engineering Contradiction:
Improveenergy efficiencyVSAvoidsystem complexity
Core Design Contradiction:
Loss of energyVSDevice complexity

Solution Approach 1:

The system performs a training phase beforehand to build prediction models that capture performance characteristics. This preliminary action allows the runtime system to use simpler, pre-trained models for ongoing predictions, reducing the complexity of real-time decision-making while maintaining energy efficiency.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Each node autonomously monitors its own performance parameters and adjusts its own power allocation based on local predictions. This self-service approach distributes the complexity across individual nodes rather than requiring centralized control, reducing overall system complexity while achieving energy efficiency.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10613957B2Achieving balanced execution through runtime detection of performance variation
Publication Date: 2020.04.07 ADVANCED MICRO DEVICES INC
  • US10613957B2 patent drawing
  • US10613957B2 patent drawing
  • US10613957B2 patent drawing

AI summary

Systems, apparatuses, and methods for achieving balanced execution in a multi-node cluster through runtime detection of performance variation are described. During a training phase, performance counters and an amount of time spent waiting for synchronization is monitored for a plurality of tasks for each node of the multi-node cluster. These values are utilized to generate a model which correlates the values of the performance counters to the amount of time spent waiting for synchronization. Once the model is built, the values of the performance counters are monitored for a period of time at the start of each task, and these values are input into the model. The model generates a prediction of whether a given node is on the critical path. If the given node is predicted to be on the critical path, the power allocation of the given node is increased.