Virtual machine management using processor state information
First Claim
Patent Images
1. A method comprising:
- monitoring processor state information relating to a processor;
gathering the processor state information, wherein the processor state information provides processor state relating to one or more of characteristics of the processor, history of the processor, characteristics of a plurality of virtual machines associated with the processor, history of the plurality of virtual machines, and event monitoring data; and
managing, using the processor state information, the plurality of virtual machines including a first virtual machine and a second virtual machine, wherein managing includes managing the characteristics of the processor and predetermined time slices allocated to each of the first virtual machine and the second virtual machine, and dynamically allocating resources to the first virtual machine or the second virtual machine, wherein dynamically allocating includes alternating between the first virtual machine and the second virtual machine, wherein alternating includes switching tasks being performed on the first virtual machine to the second virtual machine when the second virtual machine is determined to be better at performing the tasks than the first virtual machine based on the information and reallocating the predetermined time slices from the first virtual machine to the second virtual machine, wherein the second virtual machine is determined to be better based on the characteristics of the processor and independent of the predetermined allocated time slices.
0 Assignments
0 Petitions
Accused Products
Abstract
A method, system, and apparatus are provided for virtual machine management. According to one embodiment, processor state information associated with a processor is evaluated, and the processor state information is used to manage one or more virtual machines.
160 Citations
16 Claims
-
1. A method comprising:
-
monitoring processor state information relating to a processor; gathering the processor state information, wherein the processor state information provides processor state relating to one or more of characteristics of the processor, history of the processor, characteristics of a plurality of virtual machines associated with the processor, history of the plurality of virtual machines, and event monitoring data; and managing, using the processor state information, the plurality of virtual machines including a first virtual machine and a second virtual machine, wherein managing includes managing the characteristics of the processor and predetermined time slices allocated to each of the first virtual machine and the second virtual machine, and dynamically allocating resources to the first virtual machine or the second virtual machine, wherein dynamically allocating includes alternating between the first virtual machine and the second virtual machine, wherein alternating includes switching tasks being performed on the first virtual machine to the second virtual machine when the second virtual machine is determined to be better at performing the tasks than the first virtual machine based on the information and reallocating the predetermined time slices from the first virtual machine to the second virtual machine, wherein the second virtual machine is determined to be better based on the characteristics of the processor and independent of the predetermined allocated time slices. - View Dependent Claims (2)
-
-
3. A system comprising:
-
a storage medium to store information relating to a processor coupled with the storage medium; and a processor having a virtual machine manager (VMM), wherein the VMM to monitor processor state information relating to a processor, gather the processor state information, wherein the processor state information provides processor state relating to one or more of characteristics of the processor, history of the processor, characteristics of a plurality of virtual machines associated with the processor, history of the plurality of virtual machines, and event monitoring data, and manage, using the processor state information, the plurality of virtual machines including a first virtual machine and a second virtual machine, wherein managing includes managing the characteristics of the processor and predetermined time slices allocated to each of the first virtual machine and the second virtual machine, and dynamically allocating resources to the first virtual machine or the second virtual machine, wherein dynamically allocating includes alternating between the first virtual machine and the second virtual machine, wherein alternating includes switching tasks being performed on the first virtual machine to the second virtual machine when the second virtual machine is determined to be better at performing the tasks than the first virtual machine based on the information and reallocating the predetermined time slices from the first virtual machine to the second virtual machine, wherein the second virtual machine is determined to be better based on the characteristics of the processor and independent of the predetermined allocated time slices. - View Dependent Claims (4, 5)
-
-
6. A non-transitory machine-readable medium comprising instructions stored thereon which, when executed by a machine, cause the machine to:
-
monitor processor state information relating to a processor; gather the processor state information, wherein the information provides processor state relating to one or more of characteristics of the processor, history of the processor, characteristics of a plurality of virtual machines associated with the processor, history of the plurality of virtual machines, and event monitoring data; and manage, using the processor state information, the plurality of virtual machines including a first virtual machine and a second virtual machine, wherein managing includes managing the characteristics of the processor and predetermined time slices allocated to each of the first virtual machine and the second virtual machine, and dynamically allocating resources to the first virtual machine or the second virtual machine, wherein dynamically allocating includes alternating between the first virtual machine and the second virtual machine, wherein alternating includes switching tasks being performed on the first virtual machine to the second virtual machine when the second virtual machine is determined to be better at performing the tasks than the first virtual machine based on the information and reallocating the predetermined time slices from the first virtual machine to the second virtual machine, wherein the second virtual machine is determined to be better based on the characteristics of the processor and independent of the predetermined allocated time slices. - View Dependent Claims (7)
-
-
8. A method comprising:
-
allocating a first predetermined time slice to a first virtual machine, and a second predetermined time slice to a second virtual machine at a computing system; switching tasks being performed on the first virtual machine to the second virtual machine when the second virtual machine is determined to be better at performing the tasks than the first virtual machine, wherein the second virtual machine is determined to be better based on characteristics of a processor and independent of the predetermined allocated time slices, wherein the processor is associated with the first and second virtual machines, wherein the characteristics of the processor is obtained from processor state information relating to the processor of the computing system; suspending the first predetermined processing time allocated to the first virtual machine; and extending the second predetermined processing time allocated to the second virtual machine by granting the suspended first predetermined processing time of the first virtual machine to the second virtual machine. - View Dependent Claims (9, 10)
-
-
11. A system comprising:
-
a storage medium having stored thereon instructions; and a processor coupled to the storage medium, wherein the instructions when executed by the processor, cause the processor to; allocate a first predetermined time slice to a first virtual machine, and a second predetermined time slice to a second virtual machine at a computing system; switch tasks being performed on the first virtual machine to the second virtual machine when the second virtual machine is determined to be better at performing the tasks than the first virtual machine, wherein the second virtual machine is determined to be better based on characteristics of a processor and independent of the predetermined allocated time slices, wherein the processor is associated with the first and second virtual machines, wherein the characteristics of the processor is obtained from processor state information relating to the processor of the computing system; suspend the first predetermined processing time allocated to the first virtual machine; and extend the second predetermined processing time allocated to the second virtual machine by granting the suspended first predetermined processing time of the first virtual machine to the second virtual machine. - View Dependent Claims (12, 13)
-
-
14. A non-transitory machine-readable medium having stored thereon instructions which, when executed by a machine, cause the machine to:
-
allocate a first predetermined time slice to a first virtual machine, and a second predetermined time slice to a second virtual machine at a computing system; switch tasks being performed on the first virtual machine to the second virtual machine when the second virtual machine is determined to be better at performing the tasks than the first virtual machine, wherein the second virtual machine is determined to be better based on characteristics of a processor and independent of the predetermined allocated time slices, wherein the processor is associated with the first and second virtual machines, wherein the characteristics of the processor is obtained from processor state information relating to the processor of the computing system; suspend the first predetermined processing time allocated to the first virtual machine; and extend the second predetermined processing time allocated to the second virtual machine by granting the suspended first predetermined processing time of the first virtual machine to the second virtual machine. - View Dependent Claims (15, 16)
-
Specification