Determining power capping policies for a computer device
US-2017017288-A1 · Jan 19, 2017 · US
US10819599B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10819599-B2 |
| Application number | US-201615289284-A |
| Country | US |
| Kind code | B2 |
| Filing date | Oct 10, 2016 |
| Priority date | Oct 10, 2016 |
| Publication date | Oct 27, 2020 |
| Grant date | Oct 27, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
For measuring component utilization in a system having a plurality of subsystems, an energy consumption of each of the plurality of subsystems is monitored whether or not each subsystem performs at least a portion of an overall computation. Respective workloads are classified based upon an energy consumption pattern associated with the monitored energy consumption of each of the plurality of subsystems.
Opening claim text (preview).
What is claimed is: 1. A method for measuring component utilization in a computing system having a plurality of subsystems, by a processor, comprising: allocating a new virtual probe by running a power virus on previously allocated ones of a plurality of virtual probes monitoring the plurality of subsystems in the computing system to generate for each an energy consumption key, the energy consumption key used to form a peak and valley chain of detectible energy changes to compare against the energy consumption key of a candidate virtual probe; when the energy consumption key of the candidate virtual probe matches the energy consumption key of a previously allocated one of the plurality of virtual probes, releasing the candidate virtual probe and creating a waiting time before allocating an alternative candidate virtual probe; attempting to allocate the new virtual probe until a server energy utilization reading of a statistical significant number of servers out of a total number of servers in a facility is reached; monitoring an energy consumption of each of the plurality of subsystems whether or not each subsystem performs at least a portion of an overall computation; wherein monitoring the energy consumption includes taking energy readings by the plurality of virtual probes monitoring the plurality of subsystems, and aggregating the energy readings to obtain the server energy utilization reading of the statistical significant number of servers out of the total number of servers of the facility; classifying respective workloads based upon an energy consumption pattern associated with the monitored energy consumption of each of the plurality of subsystems; and dynamically allocating electrical power to respective ones of the plurality of subsystems according to the classifications of the respective workloads to produce an electrical capacity to execute a collective demanded workload comprising all of the respective workloads while maintaining the electrical power summed over all the respective ones of the plurality of subsystems to an ongoing electrical power level between a minimum threshold and a maximum threshold of an initially allocated collective electrical power level such that the electrical power is dynamically allocated to the respective ones of the plurality of subsystems to sustain a consumption of the ongoing electrical power level between the minimum threshold and the maximum threshold; wherein the initially allocated collective electrical power level comprises a total contracted electrical power level allocated to the facility maintaining the computing system from an electrical utility, and an area between the minimum threshold and the maximum threshold comprises a contracted variation of an acceptable variable range above and below the total contracted electrical power level. 2. The method of claim 1 , further including obtaining an overall energy utilization reading of the computing system by calculating, over a predetermined time period, a difference between a collective energy consumed by all of the plurality of subsystems over a time T and an idle consumption of all of the plurality of the subsystems over the time T divided by a difference of a maximum allowable consumption of all of the plurality of subsystems over the time T and the idle consumption of all of the plurality of subsystems over the time T. 3. The method of claim 2 , wherein the workload classifications include at least: cache friendly workloads, cache unfriendly workloads, computation-bound workloads, and Input/Output (I/O) bound workloads. 4. The method of claim 3 , wherein the workload classifications are used in association with the overall energy utilization reading to dynamically assign a number of each of the plurality of subsystems to the respective workloads. 5. The method of claim 4 , wherein energy is allocated to each of the plurality of subsystems as a fraction of an overall available system energy based upon a process being executed toward the overall computation. 6. The method of claim 5 , further including changing at least one of a frequency and a voltage to a respective one of the plurality of subsystems to change or match a set goal of energy consumption of the respective one of the plurality of subsystems. 7. The method of claim 1 , wherein the plurality of subsystems each are selected from a list comprising: a processor core, a memory component, a cache memory component, a storage component, an accelerator component, and a networking component. 8. A system for measuring component utilization in a computing system having a plurality of subsystems, the system comprising: at least one processor device, wherein the at least one processor device: allocates a new virtual probe by running a power virus on previously allocated ones of a plurality of virtual probes monitoring the plurality of subsystems in the computing system to generate for each an energy consumption key, the energy consumption key used to form a peak and valley chain of detectible energy changes to compare against the energy consumption key of a candidate virtual probe; when the energy consumption key of the candidate virtual probe matches the energy consumption key of a previously allocated one of the plurality of virtual probes, releases the candidate virtual probe and creating a waiting time before allocating an alternative candidate virtual probe; attempts to allocate the new virtual probe until a server energy utilization reading of a statistical significant number of servers out of a total number of servers in a facility is reached; monitors an energy consumption of each of the plurality of subsystems whether or not each subsystem performs at least a portion of an overall computation; wherein monitoring the energy consumption includes taking energy readings by the plurality of virtual probes monitoring the plurality of subsystems, and aggregating the energy readings to obtain the server energy utilization reading of the statistical significant number of servers out of the total number of servers of the facility; classifies respective workloads based upon an energy consumption pattern associated with the monitored energy consumption of each of the plurality of subsystems; and dynamically allocates electrical power to respective ones of the plurality of subsystems according to the classifications of the respective workloads to produce an electrical capacity to execute a collective demanded workload comprising all of the respective workloads while maintaining the electrical power summed over all the respective ones of the plurality of subsystems to an ongoing electrical power level between a minimum threshold and a maximum threshold of an initially allocated collective electrical power level such that the electrical power is dynamically allocated to the respective ones of the plurality of subsystems to sustain a consumption of the ongoing electrical power level between the minimum threshold and the maximum threshold; wherein the initially allocated collective electrical power level comprises a total contracted electrical power level allocated to the facility maintaining the computing system from an electrical utility, and an area between the minimum threshold and the maximum threshold comprises a contracted variation of an acceptable variable range above and below the total contracted electrical power level. 9. The system of claim 8 , wherein the at least one processor device obtains an overall energy utilization reading of the computing system by calculating, over a predetermined time period, a difference between a collective energy consumed by all of the plurality of subsystems over a time T and an idle consumption of all of the plurality of the subsystems over the tim
by checking functioning · CPC title
Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters · CPC title
Power management, i.e. event-based initiation of a power-saving mode · CPC title
where the allocation takes into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206) · CPC title
Bare-metal, i.e. hypervisor runs directly on hardware · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.