# US 7,412,611 B2 · Power management with low power processes

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 7,412,611 B2
- Document ID: US7412611B2
- Status: Granted
- Kind: B2
- Application number: 11/150,919
- Filed: 2005-06-13
- Published: 2006-12-14
- Granted: 2008-08-12
- Earliest claimed: 2005-06-13
- Assignees: Hewlett-Packard Development Company, L.P.
- Inventors: Roger Edward Tipley
- Web page: https://patentgrep.com/patent/US7412611B2

## CPC

- G06F 1/3203: Power management, i.e. event-based initiation of a power-saving mode
- G06F 1/329: by task scheduling
- G06F 9/4893: {taking into account power or heat criteria (power management in computers in general G06F1/3203; thermal management in computers in general G06F1/206)}
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

Systems, methodologies, media, and other embodiments associated with selectively regulating power consumption by a computing system are described. One exemplary method embodiment includes receiving a signal that power regulation is desired for a computing system. The exemplary method embodiment may also include selectively causing a low power process to be executed in the computing system to cause the computing system to consume less power on average than would be consumed if the low power process was not executed.

## Claims

### Claim 1

A computer-implemented method comprising:
receiving a signal to regulate an amount of power consumed by a computing system the amount of power being related to a set of processes associated with one or more processors in the computing system, where members of the set of processes may be executing on a processors or scheduled to execute on a processor; and
in response to receiving the signal:
selecting one or more power tempered processes to execute in the computing system along with the set of processes, and
arranging for the one or more power tempered processes to execute in the computing system along with the set of processes such that the collective average power consumption of the set of processes and the one or more power tempered processes is less than the average power consumption of the set of processes.

### Claim 2 (depends on 1)

The method of claim 1, the power tempered processes being configured to cause the computing system to consume on average an amount of power below a power consumption threshold.

### Claim 3 (depends on 2)

The method of claim 2, the power tempered processes comprising one or more of, an actual user level process with known power consumption attributes, an artificial user level process with known power consumption attributes, a user level process comprising a set of halt instructions, an actual system level process with known power consumption attributes, an artificial system level process with known power consumption attributes, a system level process comprising a set of halt instructions, an interrupt service routine for a non-maskable interrupt, and an interrupt service routine for a system management interrupt.

### Claim 4 (depends on 3)

The method of claim 3, a power tempered process being configurable with respect to one or more of, duration, intensity, and priority.

### Claim 5 (depends on 1)

The method of claim 1, the signal comprising one or more of, an amount indicator, an urgency indicator, a threshold approach indicator, and a desired average power indicator.

### Claim 6 (depends on 1)

The method of claim 1, the computing system comprising a set of servers arranged in a rack mounted configuration.

### Claim 7 (depends on 1)

The method of claim 1, a power tempered process being configured to place the computing system in a quiescent state having a power level near an idle computing system power level, the power tempered process being configured to perform substantially no input/output operations, substantially no computations, and substantially no memory accesses.

### Claim 8 (depends on 1)

The method of claim 1, where arranging for the one or more power tempered processes to execute includes one or more of, scheduling a power tempered process to execute, and generating an interrupt where an interrupt service routine associated with the interrupt is configured as a power tempered process.

### Claim 9 (depends on 8)

The method of claim 8, where scheduling a power tempered process to execute includes making a scheduling request via one or more of, an operating system scheduler, and an interrupt service routine based scheduler.

### Claim 10 (depends on 8)

The method of claim 8, the interrupt being one of, a non-maskable interrupt (NMI), and a system management interrupt (SMI).

### Claim 11 (depends on 1)

The method of claim 1, the method being configured to interact with one or more of a frequency scaling system associated with the computing system, a voltage scaling system associated with the computing system, and an ACPI (Advanced Configuration and Power Interface) system associated with the computing system.

### Claim 12 (depends on 1)

The method of claim 1, the method being configured to select a power tempered process according to a heuristic, to schedule the power tempered process according to the heuristic, and to self-adapt the heuristic based, at least in part, on observing a power consumption reaction to selecting and scheduling the power tempered processes.

### Claim 13

A computer-implemented method, comprising:
receiving a signal to regulate an amount of power consumed by a computing system, the amount of power being related to a set of processes associated with one or more processors in the computing system, where members of the set of processes may be executing on a processor or scheduled to execute on a processor, the signal comprising one or more of, an amount indicator, an urgency indicator, a threshold approach indicator, and a desired average power indicator; and
in response to receiving the signal:
selecting one or more power tempered processes to execute in the computing system along with the set of processes, and
arranging for the one or more power tempered processes to execute in the computing system along with the set of processes, the power tempered processes being configured to cause the computing system to consume on average an amount of power below a power consumption threshold, the power tempered processes comprising one or more of an actual user level process with known power consumption attributes, an artificial user level process with known power consumption attributes, a user level process comprising a set of halt instructions, an actual system level process with known power consumption attributes, an artificial system level process with known power consumption attributes, a system level process comprising a set of halt instructions, an interrupt service routine for a non-maskable interrupt, and an interrupt service routine for a system management interrupt, a power tempered process being configurable with respect to one or more of, duration, intensity, and priority,
where arranging for the one or more power tempered processes to execute includes one or more of, scheduling a power tempered process to execute, and generating an interrupt where an interrupt service routine associated with the interrupt is configured as a power tempered process, where scheduling a power tempered process to execute includes making a scheduling request via one or more of, an operating system scheduler, and an interrupt service routine based scheduler, and where the interrupt is one of, a non-maskable interrupt (NMI), and a system management interrupt (SMI).

### Claim 14 (depends on 13)

A computer-readable medium storing processor executable instructions configured to perform the method of claim 13.

### Claim 15

A system, comprising:
a signal logic configured to receive and analyze a power regulation signal; and
a power logic operably connected to the signal logic, the power logic being configured to selectively control an amount of power consumed by a computing system by controlling one or more of, a number, a type, and a mixture of low power processes to execute on the computing system, the power logic also being configured to select a low power process to execute on the computing system and to enable the low power process to execute on the computing system, the low power process causing the computing system to consume less power than a power consumption threshold.

### Claim 16 (depends on 15)

The system of claim 15, the low power processes comprising one or more of, a user level process, a system level process, and an interrupt service routine, the low power processes being configurable with respect to one or more of, duration, intensity, and priority.

### Claim 17 (depends on 16)

The system of claim 16, the signal logic being configured to receive data from one or more of, a frequency scaling logic associated with the computing system, a voltage scaling logic associated with the computing system, and an ACPI (Advanced Configuration and Power Interface) logic associated with the computing system.

### Claim 18 (depends on 17)

The system of claim 17, the power logic being configured to control, at least in part, the frequency scaling logic, the voltage scaling logic, and the ACPI (Advanced Configuration and Power Interface) logic.

### Claim 19 (depends on 16)

The system of claim 16, the power logic being configured to control the number, the type, or the mixture of low power processes to execute on the computing system by one or more of, requesting that an operating system schedule a low power process, adding a process to an operating system process queue, and interrupting a processor to cause an interrupt service routine to execute.

### Claim 20

A system, comprising:
means for automatically determining that power regulation is desired for a computing system, where the power regulation is related to a set of processes associated with one or more processors in the computing system, where members of the set of processes may be executing on a processor or scheduled to execute on a processor;
means for selecting one or more power tempered processes to execute on the computing system along with the set of processes; and
means for adding the one or more power tempered processes to a set of processes executing or scheduled to execute on the computing system, where the one or more power tempered processes will execute in the computing system along with the set of processes such that the the collective average power consumption of the set of processes and the one or more power tempered processes is less than the average power consumption of the set of processes.
