Distributed Node Power Management for HPC Cluster Variability

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

High-performance computing (HPC) applications in multi-node clusters face performance variation issues due to differences in processor processes, operating system noise, and resource contention, leading to wasted power and limited overall progress, as the slowest nodes in the system dictate the overall pace.

Innovation Solution

Each node in the cluster tracks maximum and minimum progress across the cluster, adjusting its power allocation based on comparisons with other nodes, using distributed messaging to share progress information and converge on consistent values, thereby dynamically managing power distribution without a centralized controller.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If nodes execute tasks at different speeds due to process differences and resource contention, then individual node performance varies, but overall system progress is limited by the slowest nodes and power is wasted on faster nodes waiting for synchronization

Engineering Contradiction:
Improveoverall system progressVSAvoidpower wastage
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts the power allocation of each node based on its real-time execution progress relative to other nodes. Nodes that are ahead in completing their tasks receive reduced power allocation, while nodes that are behind receive increased power allocation. This dynamic adjustment allows the system to balance overall progress while minimizing energy waste, as faster nodes do not continuously consume high power when they are not the limiting factor for system progress.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements a feedback mechanism where each node monitors its own execution progress and compares it with the progress of other nodes in the cluster. Based on this feedback information, nodes autonomously adjust their power consumption levels. The feedback loop continues throughout task execution, allowing continuous optimization of both system productivity and energy efficiency by matching power allocation to actual performance needs.

Inventive Principle:
Principle #23Feedback

2Ease of operation

If a centralized controller is used to manage power allocation across nodes, then coordinated power management can be achieved, but system complexity increases and a single point of failure is introduced

Engineering Contradiction:
Improvepower management coordinationVSAvoidsystem architecture complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

Each node in the cluster autonomously manages its own power allocation based on information it gathers from other nodes through distributed communication. Nodes independently determine their execution progress, compare it with other nodes, and self-adjust their power consumption without requiring centralized control. This self-service approach eliminates the need for a centralized power management controller, reducing system complexity and removing single points of failure while maintaining coordinated power management across the cluster.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The power management function is segmented and distributed across individual nodes rather than being centralized in a single controller. Each node independently performs progress monitoring, comparison, and power adjustment functions. This segmentation of control authority across multiple independent units reduces the complexity of the overall system architecture and eliminates the single point of failure that would exist in a centralized controller, while still achieving coordinated power management through distributed interaction.

Inventive Principle:
Principle #1Segmentation

3Productivity

If nodes continuously monitor and adjust power allocation based on cluster progress, then balanced execution is achieved, but communication overhead between nodes increases

Engineering Contradiction:
Improveexecution balanceVSAvoidcommunication overhead
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

Nodes perform progress monitoring and power adjustment at periodic intervals rather than continuously. Each node periodically exchanges progress information with other nodes and adjusts its power allocation based on these periodic updates. This periodic action approach achieves balanced execution across the cluster while significantly reducing communication overhead compared to continuous monitoring, as nodes only need to communicate at discrete time points rather than maintaining constant communication channels.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10237335B2Managing cluster-level performance variability without a centralized controller
Publication Date: 2019.03.19 ADVANCED MICRO DEVICES INC
  • US10237335B2 patent drawing
  • US10237335B2 patent drawing
  • US10237335B2 patent drawing

AI summary

Systems, apparatuses, and methods for managing cluster-level performance variability without a centralized controller are described. Each node of a multi-node cluster tracks a maximum and minimum progress across the plurality of nodes for a workload executed by the cluster. Each node also tracks its local progress on its current task. Each node also utilizes a comparison of the local progress to reported maximum and minimum progress across the cluster to identify a critical, or slow, node and whether to increase or reduce an amount of power allocated to the node. The nodes append information about the maximum and minimum progress to messages sent to other nodes to report their knowledge of maximum and minimum progress with other nodes. A node updates its local information if the node receives a message from another node with more up-to-date information about the state of progress across the cluster.