Processor Energy Rate Limiting via Credit Allocation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Processor cores in devices can exceed the power supply capacity when executing energy-intensive workloads, leading to potential erroneous operations and energy wastage due to simultaneous throttling and resuming of operations, which introduces noise into the power supply network.
Innovation Solution
A credit-based system where processor cores receive credits to determine their energy consumption rate, allowing them to perform pipeline operations independently without exceeding the power supply capacity, and a pseudo-random component is used to stagger the execution of instructions, reducing noise in the power network.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If processor cores execute energy-intensive workloads at high operating points, then processing speed and productivity are improved, but the aggregate energy consumption rate may exceed the power supply capacity
Solution Approach 1:
The system performs preliminary action by allocating energy credits to processor cores in advance, before they execute energy-intensive workloads. The credit distribution circuit pre-allocates a limited number of credits to each core based on the power supply capacity, allowing cores to proactively manage their energy consumption by checking credit availability before initiating pipeline operations, thus preventing energy consumption rate from exceeding power supply capacity while maintaining high productivity when credits are available
Solution Approach 2:
The system applies dynamics by making the energy consumption rate adaptive rather than static. The credit distribution circuit dynamically adjusts the number of credits allocated to each processor core based on current power supply capacity and workload conditions. When power supply capacity is sufficient, more credits are allocated allowing higher processing speed; when capacity is constrained, fewer credits are allocated to prevent exceeding power supply limits, enabling the system to optimally balance productivity and energy consumption under varying conditions
2Use of energy by moving object
If multiple processor cores throttle or resume execution during the same clock cycle, then energy consumption rate limiting is achieved, but noise is injected into the power supply network causing erroneous operation
Solution Approach 1:
The system applies periodic action by introducing a pseudo-random time delay component to the credit allocation process. Instead of all processor cores simultaneously checking and consuming credits at identical clock cycles, the pseudo-random delay component staggers the timing of credit checks and pipeline operation initiation across different cores. This temporal distribution ensures that energy consumption events are spread out over time rather than concentrated in simultaneous bursts, achieving energy consumption rate limiting while preventing synchronized throttling/resuming that would inject noise into the power supply network
Solution Approach 2:
The system uses an intermediary approach by introducing a pseudo-random delay mechanism as a mediator between the credit allocation decision and the actual pipeline operation execution. This intermediary layer decouples the direct relationship between credit consumption and immediate execution, allowing the system to smooth out simultaneous energy consumption events. The pseudo-random delay acts as a buffer that distributes energy consumption requests across multiple clock cycles, preventing multiple cores from simultaneously throttling or resuming operations and thus eliminating noise injection into the power supply network
Data Source
AI summary
In some embodiments, a processor core includes an energy tracking circuit and an execution management circuit. The energy tracking circuit is configured to determine an amount of remaining allocated energy of the processor core. The execution management circuit is configured to make a determination whether to stall execution of one or more pipeline operations at the processor core based on a comparison of the amount of remaining allocated energy to a stall threshold. The determination involves applying one or more pseudo-random components to the amount of remaining allocated energy, the stall threshold, or both. The determination is made such that the smaller the amount of remaining allocated energy, the more likely the execution of one or more instructions is to be stalled.


