Method and apparatus for dynamic CPU resource management
First Claim
Patent Images
1. A method for dynamic CPU resource management, comprising:
- collecting CPU usage information for a virtual machine, the virtual machine having an allocated CPU share;
determining a dynamic priority for the virtual machine based on a specified priority for the virtual machine; and
dynamically changing the allocated CPU share of the virtual machine, as needed, based on the collected CPU usage information for the virtual machine and the determined dynamic priority for the virtual machine, wherein dynamically changing the CPU share of the virtual machine further comprises;
increasing the CPU share of the virtual machine when it is determined that the collected CPU usage information indicates CPU usage of the virtual machine relative to CPU usage of other virtual machines is equal to or higher than the allocated CPU share of the virtual machine;
ordecreasing the CPU share of the virtual machine when it is determined that the collected CPU usage information indicates CPU usage of the virtual machine relative to CPU usage of other virtual machines is substantially lower than the allocated CPU share of the virtual machine.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatuses for dynamic CPU resource management are provided. CPU related information is collected for one or more virtual machines. CPU shares and affinity of a virtual machine are dynamically changed, as needed, based on the CPU usage information for the virtual machine and based on a specified priority of the virtual machine.
88 Citations
17 Claims
-
1. A method for dynamic CPU resource management, comprising:
-
collecting CPU usage information for a virtual machine, the virtual machine having an allocated CPU share; determining a dynamic priority for the virtual machine based on a specified priority for the virtual machine; and dynamically changing the allocated CPU share of the virtual machine, as needed, based on the collected CPU usage information for the virtual machine and the determined dynamic priority for the virtual machine, wherein dynamically changing the CPU share of the virtual machine further comprises; increasing the CPU share of the virtual machine when it is determined that the collected CPU usage information indicates CPU usage of the virtual machine relative to CPU usage of other virtual machines is equal to or higher than the allocated CPU share of the virtual machine;
ordecreasing the CPU share of the virtual machine when it is determined that the collected CPU usage information indicates CPU usage of the virtual machine relative to CPU usage of other virtual machines is substantially lower than the allocated CPU share of the virtual machine.
-
-
2. A computer system comprising:
-
a processor; and a program storage device readable by the computer system, tangibly embodying a program of instructions executable by the processor to perform operations comprising; collecting CPU usage information for a virtual machine, the virtual machine having an allocated CPU share; determining a dynamic priority for the virtual machine based on a specified priority for the virtual machine; and dynamically changing the allocated CPU share of the virtual machine, as needed, based on the collected CPU usage information for the virtual machine and the determined dynamic priority for the virtual machine, wherein dynamically changing the CPU share of the virtual machine further comprises; increasing the CPU share of the virtual machine when it is determined that the collected CPU usage information indicates CPU usage of the virtual machine relative to CPU usage of other virtual machines is equal to or higher than the allocated CPU share of the virtual machine;
ordecreasing the CPU share of the virtual machine when it is determined that the collected CPU usage information indicates CPU usage of the virtual machine relative to CPU usage of other virtual machines is substantially lower than the allocated CPU share of the virtual machine.
-
-
3. A program storage device readable by a machine, tangibly embodying a program of instructions operable when executed to:
-
collect CPU usage information for a virtual machine, the virtual machine having an allocated CPU share; determine a dynamic priority for the virtual machine based on a specified priority for the virtual machine; and dynamically change the allocated CPU share of the virtual machine, as needed, based on the collected CPU usage information for the virtual machine and the determined dynamic priority for the virtual machine, wherein dynamically changing the CPU share of the virtual machine further comprises; increasing the CPU share of the virtual machine when it is determined that the collected CPU usage information indicates CPU usage of the virtual machine relative to CPU usage of other virtual machines is equal to or higher than the allocated CPU share of the virtual machine;
ordecreasing the CPU share of the virtual machine when it is determined that the collected CPU usage information indicates CPU usage of the virtual machine relative to CPU usage of other virtual machines is substantially lower than the allocated CPU share of the virtual machine.
-
-
4. An apparatus for dynamic CPU resource management, comprising:
-
means for collecting CPU usage information for a virtual machine, the virtual machine having an allocated CPU share; means for determining a dynamic priority for the virtual machine based on a specified priority for the virtual machine; and means for dynamically changing the allocated CPU share of the virtual machine, as needed, based on the collected CPU usage information for the virtual machine and the determined dynamic priority for the virtual machine, wherein dynamically changing the CPU share of the virtual machine further comprises; increasing the CPU share of the virtual machine when it is determined that the collected CPU usage information indicates CPU usage of the virtual machine relative to CPU usage of other virtual machines is equal to or higher than the allocated CPU share of the virtual machine;
ordecreasing the CPU share of the virtual machine when it is determined that the collected CPU usage information indicates CPU usage of the virtual machine relative to CPU usage of other virtual machines is substantially lower than the allocated CPU share of the virtual machine.
-
-
5. A method for dynamic CPU resource management, comprising:
-
collecting CPU related information and user defined criteria for one or more virtual machines, each of the one or more virtual machines having an allocated CPU share; determining, based on the collected CPU related information and user defined criteria, a CPU status of normal, underutilized, or critical for each of the one or more virtual machines; determining, based on the user defined criteria, a dynamic priority for each of the one or more virtual machines; and determining, based on the determined CPU status and the dynamic priority for each of the one or more virtual machines, whether to increase, decrease, or leave as is the allocated CPU share of each of the one or more virtual machines, wherein; the allocated CPU share is increased if it is determined that the CPU status is critical;
orthe allocated CPU share is decreased if it is determined that the CPU status is underutilized. - View Dependent Claims (6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A computer system comprising:
-
a processor; and a program storage device readable by the computer system, tangibly embodying a program of instructions executable by the processor to perform operations comprising; collecting CPU related information and user defined criteria for one or more virtual machines, each of the one or more virtual machines having an allocated CPU share; determining, based on the collected CPU related information and user defined criteria, a CPU status of normal, underutilized, or critical for each of the one or more virtual machines; determining, based on the user defined criteria, a dynamic priority for each of the one or more virtual machines; and determining, based on the determined CPU status and the dynamic priority for each of the one or more virtual machines, whether to increase, decrease, or leave as is the allocated CPU share of each of the one or more virtual machines, wherein; the allocated CPU share is increased if it is determined that the CPU status is critical;
orthe allocated CPU share is decreased if it is determined that the CPU status is underutilized.
-
-
16. A program storage device readable by a machine, tangibly embodying a program of instructions operable when executed to:
-
collect CPU related information and user defined criteria for one or more virtual machines, each of the one or more virtual machines having an allocated CPU share; determine, based on the collected CPU related information and user defined criteria, a CPU status of normal, underutilized, or critical for each of the one or more virtual machines; determine, based on the user defined criteria, a dynamic priority for each of the one or more virtual machines; and determine, based on the determined CPU status and the dynamic priority for each of the one or more virtual machines, whether to increase, decrease, or leave as is the allocated CPU share of each of the one or more virtual machines, wherein; the allocated CPU share is increased if it is determined that the CPU status is critical;
orthe allocated CPU share is decreased if it is determined that the CPU status is underutilized.
-
-
17. An apparatus for dynamic CPU resource management, comprising:
-
means for collecting CPU related information and user defined criteria for one or more virtual machines, each of the one or more virtual machines having an allocated CPU share; means for determining, based on the collected CPU related information and user defined criteria, a CPU status of normal, underutilized, or critical for each of the one or more virtual machines; means for determining, based on the user defined criteria, a dynamic priority for each of the one or more virtual machines; and means for determining, based on the determined CPU status and the dynamic priority for each of the one or more virtual machines, whether to increase, decrease, or leave as is the allocated CPU share of each of the one or more virtual machines, wherein; the allocated CPU share is increased if it is determined that the CPU status is critical;
orthe allocated CPU share is decreased if it is determined that the CPU status is underutilized.
-
Specification