Accelerator Clock Gating and Scaling from Runtime Task Graphs

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional computing systems face inefficiencies in power consumption and workload management due to running accelerator devices at a fixed high clock rate, which is suboptimal for diverse workloads, particularly in multi-tenant environments where architectural diversity is required.

Innovation Solution

Implement clock gating and scaling based on runtime application task graph information using a data parallel programming model to optimize clock rates on accelerator devices like FPGAs, leveraging task graph abstractions to improve power efficiency and performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If accelerator devices run at a fixed high clock rate, then processing speed is improved, but power consumption increases

Engineering Contradiction:
Improveprocessing speedVSAvoidpower consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic clock frequency adjustment by monitoring workload characteristics and adapting the clock rate of accelerator regions in real-time. When workloads are light or regions are idle, the clock frequency is reduced or gating is applied; when workloads are heavy, the clock frequency is increased. This dynamic adaptation resolves the contradiction by making the system flexible rather than fixed, allowing it to optimize between speed and power consumption based on actual runtime conditions.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the operational parameters of the accelerator device by adjusting clock frequency and enabling/disabling clock gating based on workload analysis. The runtime environment monitors task graphs and workload characteristics, then modifies the clock rate parameter dynamically. This parameter change approach allows the system to achieve high processing speeds when needed while reducing power consumption during low-utilization periods, directly addressing the technical contradiction.

Inventive Principle:
Principle #35Parameter changes

2Use of energy by moving object

If clock rate is scaled down for power efficiency, then power consumption is reduced, but processing throughput may degrade

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

Solution Approach 1:

The patent divides the accelerator device into multiple independent regions, each capable of having its own clock frequency and gating settings. The runtime environment can selectively apply clock gating or frequency scaling to specific regions based on their individual workload characteristics, while other regions continue operating at full performance. This segmentation allows the system to optimize power efficiency in idle regions without impacting the throughput of active regions, resolving the contradiction between power efficiency and processing throughput.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different regions of the accelerator device are assigned different operational characteristics based on their specific workload requirements. Some regions may operate at high clock rates with full performance when handling computationally intensive tasks, while other regions operate at lower clock rates or with clock gating enabled when handling lighter workloads. This local quality approach ensures that power efficiency optimizations in one region do not degrade the throughput performance of other regions with different performance requirements.

Inventive Principle:
Principle #3Local quality

3Reliability

If fixed high clock rate is used, then performance is maintained, but power efficiency deteriorates in multi-tenant environments

Engineering Contradiction:
Improveperformance consistencyVSAvoidpower efficiency
Core Design Contradiction:
ReliabilityVSUse of energy by moving object

Solution Approach 1:

The runtime environment implements a feedback mechanism that continuously monitors workload characteristics, task graph information, and performance metrics from multiple tenants. Based on this feedback, the system dynamically adjusts clock frequency and gating settings for different accelerator regions assigned to different tenants. This feedback loop allows the system to maintain performance consistency for each tenant while optimizing overall power efficiency across the multi-tenant environment, resolving the contradiction by using information from the feedback to make intelligent scheduling decisions.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The accelerator device is designed to support multiple tenants with diverse workload requirements simultaneously. The runtime environment provides a universal management layer that can handle different tenant workloads, apply appropriate clock gating and frequency scaling policies, and ensure performance isolation between tenants. This multi-functionality allows the system to serve multiple purposes - maintaining performance consistency for each tenant while achieving power efficiency at the system level through coordinated resource management.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS20260072659A1Clock gating and clock scaling based on runtime application task graph information
Publication Date: 2026.03.12 ALTERA CORP
  • US20260072659A1 patent drawing
  • US20260072659A1 patent drawing
  • US20260072659A1 patent drawing

AI summary

An apparatus to facilitate clock gating and clock scaling based on runtime application task graph information is disclosed. The apparatus includes a processor to: receive, from a compiler, a bitstream generated from code of an application, the bitstream related to a workload of the application; generate a task graph of the application using at least part of the bitstream, the task graph to represent one of a relationship and dependency of the code; program the bitstream to an accelerator device, wherein the bitstream to configure the accelerator device to support the workload of the application; execute one or more kernels of the code using the accelerator device; identify one or more optimizations for the accelerator device based on the task graph of the application; and transmit a command to cause the one or more optimizations to be implemented in the at least one region of the accelerator device.