Event-Based Hardware Resource Power Management

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current computer systems face inefficiencies in managing hardware resources, particularly in power management, as they rely on periodic polling for utilization data, leading to suboptimal power adjustments and increased energy consumption.

Innovation Solution

A method and system for dispatching threads to hardware resources based on resource affinity and utilization data, using a dispatcher to identify qualified resources and manage power states according to predefined policies, ensuring efficient power management by selectively dispatching threads to resources that have been idle for a longer period.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Use of energy by stationary object

If periodic polling is used to obtain utilization data for power management, then power management adjustments can be made, but the system experiences increased energy consumption and suboptimal power adjustments due to delayed detection of utilization changes

Engineering Contradiction:
Improvepower consumptionVSAvoiddelay in detecting utilization changes
Core Design Contradiction:
Use of energy by stationary objectVSLoss of time

Solution Approach 1:

The patent implements event-driven feedback where hardware resources generate utilization events that are immediately communicated to the power management system. This replaces periodic polling with continuous event-based monitoring, ensuring timely detection of utilization changes while minimizing unnecessary power management adjustments, thus reducing energy consumption without delay.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

Hardware resources autonomously generate utilization events when their state changes, without requiring external polling. This self-service mechanism allows the system to immediately detect and respond to utilization changes, eliminating the time delay inherent in periodic polling while reducing the overall energy consumption by avoiding unnecessary polling cycles.

Inventive Principle:
Principle #25Self-service

2Productivity

If threads are dispatched to hardware resources without considering power state, then thread execution can proceed immediately, but power management efficiency deteriorates with unnecessary power consumption

Engineering Contradiction:
Improvethread execution speedVSAvoidunnecessary power consumption
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs preliminary checks of hardware resource power states and utilization events before dispatching threads. By pre-evaluating whether a hardware resource is in an idle or active state and whether power management events have been generated, the system can make informed dispatch decisions that avoid unnecessary power consumption while maintaining thread execution speed through efficient resource selection.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent dynamically adjusts thread dispatching decisions based on real-time hardware resource power states and utilization events. The dispatching mechanism adapts to changing power conditions by selecting appropriate hardware resources, thereby optimizing the balance between thread execution speed and power consumption without requiring threads to wait for power state changes.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8683476B2Method and system for event-based management of hardware resources using a power state of the hardware resources
Publication Date: 2014.03.25 ORACLE AMERICAN INC
  • US8683476B2 patent drawing
  • US8683476B2 patent drawing
  • US8683476B2 patent drawing

AI summary

A system for dispatching a thread to a resource obtains a thread and utilization data for all resources. The system determines if there is a thread-resource affinity. The system uses thread-resource affinity to identify a resource and a timestamp for when the thread last completed executing on the resource. The system determines if the resource qualifies under a dispatch policy. The system uses utilization data to determine a timestamp for when the resource last transitioned to a not powered state. When the second timestamp precedes the first timestamp, the system dispatches the thread to the resource and generates a power management event. The system determines if the power management event satisfies a throttle policy. The system discards the power management event when throttle policy is unsatisfied and determines whether to adjust the current power state of the resource based on the power management event when throttle policy is satisfied.