# US 2013/0155073 A1 · Method and apparatus for power management of a processor in a virtual environment

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

- Number: US 2013/0155073 A1
- Document ID: US20130155073A1
- Status: Published application
- Kind: A1
- Application number: 13/325,832
- Filed: 2011-12-14
- Published: 2013-06-20
- Earliest claimed: 2011-12-14
- Assignees: Advanced Micro Devices, Inc.; ATI Technologies ULC
- Inventors: Oleksandr Khodorkovsky; Stephen D. Presant
- Web page: https://patentgrep.com/patent/US20130155073A1

## CPC

- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06F 1/3234: Power saving characterised by the action undertaken
- G06F 3/14: Digital output to display device {; Cooperation and interconnection of the display device with other functional units}
- G06F 9/5094: {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)}
- G09G 5/363: {Graphics controllers}
- G09G 2330/021: Power management, e.g. power saving
- G09G 2360/08: Power processing, i.e. workload management for processors involved in display operations, such as CPUs or GPUs
- Y02D 10/00: Energy efficient computing, e.g. low power processors, power management or thermal management
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G09G: ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION (arrangements for transferring data between digital computers and displays G06F3/14; static indicating arrangements comprising an association of a number of separate sources or light control cells G09F9/00; static indicating arrangements comprising integral associations of a number of light sources H01J, H01K, H10H, H05B33/12; scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission, details thereof H04N1/00)
- 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

A method and apparatus determines an activity history context for each of a plurality of virtual machines sharing use of a graphics processing core. Each activity history context provides information related to a power setting of at least one engine of the graphics processing core during at least one prior use of the graphics processing core by the corresponding virtual machine. The method and apparatus controls a power setting of the at least one engine of the graphics processing core based on the activity history context corresponding to an active virtual machine using the graphics processing core.

## Claims

### Claim 1

A method comprising:
determining an activity history context for each of a plurality of virtual machines sharing use of a graphics processing core, each activity history context providing information related to utilization of at least one engine of the graphics processing core by the corresponding virtual machine; and
controlling a power setting of the at least one engine of the graphics processing core based on the activity history context corresponding to an active virtual machine using the graphics processing core.

### Claim 2 (depends on 1)

The method of claim 1, further comprising determining whether to inhibit a power setting change from the activity history context of an active virtual machine based on at least one of a temperature and a power consumption level of the graphics processing core independent of which virtual machine is running.

### Claim 3 (depends on 1)

The method of claim 1, further comprising determining whether to inhibit a power setting change from the activity history context of an active virtual machine based on an estimated active time period for the active virtual machine determined from its activity history context relative to a time required to implement the power setting change.

### Claim 4 (depends on 1)

The method of claim 1, wherein controlling a power setting sets a power setting of the at least one engine of the graphics processing core to a power setting from the activity history context of the active virtual machine.

### Claim 5 (depends on 4)

The method of claim 4, wherein the information related to a power setting of at least one engine of the graphics processing core is at least one of a frequency setting and a voltage setting for the at least one engine during at least one prior use of the graphics processing core by the active virtual machine.

### Claim 6 (depends on 1)

The method of claim 1, wherein determining an activity history context for each of a plurality of virtual machines sharing use of a graphics processing core comprises monitoring activity of each active virtual machine to determine its corresponding activity history context and storing the determined activity history context in a memory.

### Claim 7 (depends on 6)

The method of claim 6, wherein each stored activity history context is linked to a unique identifier of a corresponding virtual machine.

### Claim 8 (depends on 1)

The method of claim 1, wherein the determined activity history context also provides information related to a length of a time that the virtual machine used the graphics processing core during at least one prior use of the graphics processing core by the corresponding virtual machine.

### Claim 9 (depends on 1)

The method of claim 1, wherein controlling a power setting of the at least one engine of the graphics processing core is also based on a determined power consumption level of the graphics processing core independent of which virtual machine is running.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
determining an estimated active time period for the active virtual machine based on its activity history context; and
adjusting a power setting for at least one engine of the graphics processing core based on the activity history context if the estimated active time period exceeds a threshold time duration.

### Claim 11 (depends on 10)

The method of claim 10, wherein the threshold time duration is a time required to implement the power setting change for at least one engine of the graphics processing core.

### Claim 12 (depends on 1)

The method of claim 1, further comprising monitoring utilization of the active virtual machine and increasing a power setting for at least one engine of a graphics processing core if utilization of the at least one engine by the active virtual machine exceeds a threshold level.

### Claim 13 (depends on 1)

The method of claim 1, further comprising monitoring utilization of the active virtual machine and using the monitored utilization to determine the activity history context for the active virtual machine.

### Claim 14 (depends on 1)

The method of claim 1, further comprising monitoring utilization of the active virtual machine and decreasing a power setting for at least one engine of a graphics processing core if utilization of the at least one engine by the active virtual machine is less than a threshold level.

### Claim 15 (depends on 1)

The method of claim 1, further comprising inhibiting a power setting change from the activity history context if the power setting change would cause a thermal fault of the graphics processing core.

### Claim 16 (depends on 1)

The method of claim 1, further comprising:
receiving a notification of a switch from the active virtual machine to a new virtual machine;
storing the activity history context from the active virtual machine related to the power settings of at least one engine of a graphics processing core and a time duration that the active virtual machine used the graphics processing core; and
controlling a power setting of at least one engine of the graphics processing core based on an activity history context for the new virtual machine running on the graphics processing core.

### Claim 17

A method comprising:
monitoring utilization of at least one engine of a graphics processing core for each of a plurality of virtual machines sharing use of the graphics processing core; and
controlling a power setting of at least one engine of the graphics processing core responsive to previously monitored utilization of the at least one engine for an active virtual machine using the graphics processing core.

### Claim 18 (depends on 17)

The method of claim 17, further comprising determining whether to inhibit a power setting change from the monitored utilization of the active virtual machine based on at least one of a temperature and a power consumption level of the graphics processing core independent of which of the plurality of virtual machines is running.

### Claim 19 (depends on 17)

The method of claim 17, further comprising determining whether to inhibit a power setting change from the monitored utilization of the active virtual machine based on an estimated active time period for the active virtual machine determined from its the monitored utilization relative to a time required to implement the power setting change.

### Claim 20 (depends on 17)

The method of claim 17, wherein controlling a power setting sets a power setting of the at least one engine of the graphics processing core to a power setting from the monitored utilization of an active virtual machine.

### Claim 21 (depends on 17)

The method of claim 17, wherein monitoring utilization of at least one engine of a graphics processing core for each of a plurality of virtual machines sharing use of the graphics processing core comprises determining an activity history context for each of the plurality of virtual machines, each activity history context providing information related to the monitored utilization of at least one engine of the graphics processing core by the corresponding virtual machine, and wherein controlling a power setting of at least one engine of the graphics processing core is based on the activity history context corresponding to the active virtual machine using the graphics processing core.

### Claim 22

An apparatus comprising:
a graphics processing core having a plurality of engine subsystems used by a plurality of virtual machines, the plurality of engine subsystems being operable at a plurality of power settings;
an activity monitor configured to monitor utilization of the plurality of engine subsystems of the graphics processing core by each active virtual machine to determine an activity history context for each of a plurality of virtual machines, each activity history context providing information related to utilization of at least one engine of the graphics processing core during at least one prior use of the graphics processing core by the corresponding virtual machine; and
a physical machine power manager in operative communication with the activity monitor, the physical machine power manager being operable to adjust a power settings of the at least one engine of the graphics processing core based on the activity history context corresponding to an active virtual machine using the processor.

### Claim 23 (depends on 22)

The apparatus of claim 22, further comprising a context manager in operative communication with the activity monitor, the context manager being operable to store the determined activity history context for each active virtual machine in a memory.

### Claim 24 (depends on 23)

The apparatus of claim 23, wherein each stored activity history context is linked to a unique identifier of a corresponding virtual machine.

### Claim 25 (depends on 24)

The apparatus of claim 24, wherein the physical machine power manager is operable to retrieve the activity history context corresponding to an active virtual machine from the memory.

### Claim 26 (depends on 22)

The apparatus of claim 22, further comprising a power monitor operatively coupled to the physical machine power manager, the power monitor determining a power consumption level of the graphics processing core independent of which virtual machine is running, and wherein the physical machine power manager determines whether to inhibit a power setting change from the activity history context of an active virtual machine based the power consumption level.

### Claim 27 (depends on 22)

The apparatus of claim 22, further comprising a temperature sensor operatively coupled to the physical machine power manager, the temperature sensor determining a temperature of the graphics processing core independent of which virtual machine is running, and wherein the physical machine power manager determines whether to inhibit a power setting change from the activity history context of an active virtual machine based the temperature of the processor.

### Claim 28 (depends on 22)

The apparatus of claim 22, wherein the physical machine power manager is in operative communication with a hypervisor operable to schedule and manage allocation the plurality of virtual machines to the graphics processing core.

### Claim 29 (depends on 28)

The apparatus of claim 28, wherein the physical machine power manager receives a unique identifier of an active virtual machines and uses the unique identifier to retrieve an activity history context for the active virtual machine.

### Claim 30

A computer readable storage medium comprising executable instructions that when executed by at least one processor causes the at least one processor to:
determine an activity history context for each of a plurality of virtual machines sharing use of a graphics processing core, each activity history context providing information related to a power setting of at least one engine of the graphics processing core during at least one prior use of the graphics processing core by the corresponding virtual machine; and
control a power setting of the at least one engine of the graphics processing core based on the activity history context corresponding to an active virtual machine using the graphics processing core.

### Claim 31 (depends on 30)

The computer readable storage medium of claim 30, further comprising executable instructions that when executed by at least one processor causes the at least one processor to inhibit a power setting change from the activity history context of an active virtual machine based on at least one of a temperature and a power consumption level of the graphics processing core independent of which virtual machine is running.

### Claim 32 (depends on 30)

The computer readable storage medium of claim 30, further comprising executable instructions that when executed by at least one processor causes the at least one processor to inhibit a power setting change from the activity history context of an active virtual machine based on an estimated active time period for the active virtual machine determined from its activity history context relative to a time required to implement the power setting change.
