IP Library › Granted Patent US 8,364,997
Granted Patent B2
US 8,364,997 · App. 12/644,359 · Granted Jan 29, 2013

Virtual-CPU based frequency and voltage scaling

Inventors: Kun Tian (Shanghai, CN); Ke Yu (Beijing, CN)
Assignee: Intel Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,364,997
App. No.
12/644,359
Granted
Jan 29, 2013
Kind
B2
Abstract

Frequency and voltage scaling are performed for each virtual processor in a virtual environment. The characteristics of the workload performed by each virtual processor are dynamically profiled and a scaling algorithm determines a scale factor for that virtual processor as a function of the profiled characteristics. The profiled characteristics may include virtualization events associated with the workload being performed. In addition, a particular scaling algorithm and profiling technique may be selected based on which virtual processor is currently running.

Claims (27)

1. A method, comprising:

profiling characteristics of a workload performed by each of a plurality of virtual processing devices in a corresponding one of a plurality of workload profiling channels associated with an instance allocated to the corresponding virtual processing device;

providing the profiled characteristics to a scaling algorithm bound to the corresponding instance; and

determining, via the bound scaling algorithm, a clock frequency for each virtual processing device as a function of its respective profiled characteristics.

2. The method as recited in claim 1 , further comprising selecting the scaling algorithm to determine the clock frequency for a virtual processing device, wherein the selection is based on the profiled characteristics of the workload for that virtual processing device.

3. The method as recited in claim 1 , wherein the profiling is performed continuously during a time interval during which a virtual processing device is performing its workload.

4. The method as recited in claim 2 , wherein the selection of the scaling algorithm is performed dynamically during a time interval during which a virtual processing device is performing its workload.

5. The method as recited in claim 4 , wherein the selection of the scaling algorithm is based on virtualization events associated with the workload performed by the virtual processing device.

6. The method as recited in claim 1 , wherein the profiling is based on virtualization events associated with the virtual processing device.

7. The method as recited in claim 6 , wherein the profiling is performed dynamically.

8. The method as recited in claim 1 , wherein the profiling is based on utilization of the virtual processing device.

9. A system comprising:

a processor resource; and

a virtual machine monitor to manage virtualization of the processor resource into a plurality of virtual processors, the virtual machine monitor further to allocate time intervals to the virtual processors to perform respective workloads, the virtual machine monitor further to profile characteristics of the workloads performed during the corresponding time intervals in a corresponding one of a plurality of workload profiling channels associated with an instance allocated to the corresponding virtual processor, and provide the profiled characteristics to a scaling algorithm bound to the corresponding instance and to determine, via the bound scaling algorithm, a clock frequency for each of the virtual processors based on the profiled characteristics.

10. The system as recited in claim 9 , wherein the virtual machine monitor is to profile the characteristics of the workload continuously during the time interval in which the corresponding virtual processor is performing the workload.

11. The system as recited in claim 10 , wherein the characteristics of the workload include virtualization events.

12. The system as recited in claim 11 , wherein the characteristics of the workload include utilization of the virtual processor.

13. The system as recited in claim 9 , wherein the virtual machine monitor further to select a scaling algorithm to determine the clock frequency, wherein the virtual machine monitor to select the scaling algorithm as a function of the profiled characteristics.

14. The system as recited in claim 13 , wherein the virtual machine monitor is to select a scaling algorithm as a function of the profiled characteristics.

15. The system as recited in claim 14 , wherein the virtual machine monitor is to dynamically select a scaling algorithm during the time interval in which the corresponding virtual processor is performing the workload.

16. A non-transitory computer readable medium having stored thereon instructions which, when executed by a processing device, cause the processing device to:

profile characteristics of a workload performed by each of a plurality of virtual processing devices in a corresponding one of a plurality of workload profiling channels associated with an instance allocated to the corresponding virtual processing device; providing the profiled characteristics to a scaling algorithm bound to the corresponding instance; and

determine, via the bound scaling algorithm, a clock frequency for each virtual processing device as a function of its respective profiled characteristics.

17. The medium as recited in claim 16 , the instructions further to cause the processing device to select the scaling algorithm to determine the clock frequency for a virtual processing device, wherein the selection is based on the profiled characteristics of the workload for that virtual processing device.

18. The medium as recited in claim 16 , wherein the processing device is to profile the characteristics continuously during a time interval during which a virtual processing device is performing its workload.

19. The medium as recited in claim 18 , wherein the profile is based on virtualization events associated with the workload performed by the virtual processing device.

20. The medium as recited in claim 19 , wherein the instructions cause the processing device to dynamically profile the virtualization events during the time interval.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2009
From: TIAN, KUN; YU, KE
To: INTEL CORPORATION
Reel/Frame 023688/0020 →
Continuity (1)
Related Publication 20110154321A1 · Jun 23, 2011