Compiler-Based DVFS Coordination for Distributed Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computing systems face challenges in optimizing power management across multiple processing devices, leading to inefficiencies in power consumption and performance, particularly in synchronous operations and large machine-learning deployments.

Innovation Solution

A compiler-based approach that analyzes workloads and injects power state instructions into compiled code for each processing device, coordinating voltage and frequency settings to synchronize power states across devices, thereby optimizing power consumption and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by moving object

If DVFS is applied independently on each processing device, then individual device power management is achieved, but coordinated power management across distributed devices is lost leading to performance bottlenecks

Engineering Contradiction:
Improvepower consumptionVSAvoidperformance
Core Design Contradiction:
Use of energy by moving objectVSProductivity

Solution Approach 1:

The patent merges independent DVFS decisions into a coordinated system by having the compiler analyze the entire distributed program and generate unified power management instructions. The compiler combines workload information from multiple processing devices to make centralized power state decisions, ensuring all devices operate at optimal power states simultaneously rather than independently.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The compiler performs preliminary analysis of the distributed program workload before execution, identifying power state opportunities in advance. By analyzing the compiled code and workload characteristics beforehand, the system can pre-determine optimal power state transitions and inject appropriate instructions into the executable code, avoiding runtime performance bottlenecks.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If processing devices operate at high power states for maximum performance, then computational speed is improved, but power consumption increases

Engineering Contradiction:
Improvecomputational speedVSAvoidpower consumption
Core Design Contradiction:
ProductivityVSUse of energy by moving object

Solution Approach 1:

The system dynamically adjusts power states based on actual workload requirements rather than maintaining static high-performance settings. The compiler analyzes workload characteristics and generates dynamic power management instructions that adjust voltage and frequency settings in real-time according to the actual computational demands of the distributed program.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes power state parameters (voltage and frequency) based on analyzed workload characteristics. The compiler identifies sections of code that require high performance and injects power state instructions to adjust operational parameters accordingly, maintaining high computational speed only when and where actually needed rather than universally across all devices and time periods.

Inventive Principle:
Principle #35Parameter changes

3Ease of operation

If power states are not coordinated across synchronous operations, then individual device autonomy is maintained, but bottlenecks occur when devices operate at different speeds

Engineering Contradiction:
Improvedevice autonomyVSAvoidsynchronous operation efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The compiler acts as an intermediary that coordinates power states across all processing devices. It analyzes the distributed program and generates unified power management instructions that ensure all devices operate at compatible power states during synchronous operations, preventing bottlenecks while maintaining device autonomy during execution.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Use of energy by moving object

If compiler-based power management is implemented, then coordinated power states across devices are achieved, but system complexity increases

Engineering Contradiction:
Improvepower consumptionVSAvoidsystem complexity
Core Design Contradiction:
Use of energy by moving objectVSDevice complexity

Solution Approach 1:

The compiler performs self-service by automatically analyzing workload characteristics and generating appropriate power management instructions without requiring external intervention or complex runtime coordination mechanisms. The system embeds power management logic directly into the compilation process, eliminating the need for additional hardware or software complexity at runtime.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS20250265058A1Compiler based dynamic scaling power management
Publication Date: 2025.08.21 GOOGLE LLC
  • US20250265058A1 patent drawing
  • US20250265058A1 patent drawing
  • US20250265058A1 patent drawing

AI summary

Aspects of the disclosed techniques include a compilation process, e.g. for an accelerated linear algebra (XLA) compiler. The compilation process includes identifying, for each processing device of multiple processing devices in a distributed computing system, a respective portion of the uncompiled code that is to be executed by the processing device, retrieving a respective workload for each of the multiple processing devices defining an analysis of processor utilization for the respective portion of the uncompiled code that is to be executed by the processing device, and injecting a power state instruction into a respective portion of the compiled code corresponding the respective portion of the uncompiled code, that is to be executed by each of the multiple processing devices. The power state instruction identifies a voltage setting and a frequency setting that the processing device is instructed to apply when executing the respective portion of the compiled code of the computer program.