Accelerator Clock Gating and Scaling from Runtime Task Graphs
Find Innovative SolutionsGenerate 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
Engineering Contradiction Analysis
1Speed
If accelerator devices run at a fixed high clock rate, then processing speed is improved, but power consumption increases
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.
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.
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
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.
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.
3Reliability
If fixed high clock rate is used, then performance is maintained, but power efficiency deteriorates in multi-tenant environments
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.
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.
Data Source
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.


