Measuring CPU utilization in a cloud computing infrastructure by artificially executing a bursting application on a virtual machine
AssigneeAccenture Global Services Limited
InventorHuan Liu
Life of this patent
Estimating the term…
Abstract
Novel techniques are provided to determine concurrent hardware resource usage as expressed in activity performed by hardware processors. A cloud computing consumer can verify the level of the quality of service provided by the physical infrastructure of a cloud, thereby allowing the consumer the ability to request a transfer of the hosting physical infrastructure to a less burdened physical machine.
Claims26
A method for determining CPU utilization of a physical hardware component hosting a plurality of virtual machines in a cloud data center, the method comprising:
- executing a bursting application on a first virtual machine of the plurality of virtual machines hosted on the physical hardware component comprising a hypervisor and physical resources,
- wherein the execution of the bursting application requests for an amount of available physical resources of the physical hardware component that causes the first virtual machine to substantially exceed its pre-allocated amount of physical resources;
- monitoring the execution of the bursting application on the first virtual machine by the hypervisor for processing interruptions from other virtual machines, wherein the processing interruptions temporarily occupy a portion of the physical resources being consumed by the bursting application on the first virtual machine;
- and
- determining the CPU utilization of the physical hardware component based on the monitored processing interruptions incurred over a pre-determined period of time, wherein determining the CPU utilization further comprises:
- querying the hypervisor for an amount of CPU cycles used by the bursting application;
- determining an elapsed time corresponding to the execution of the bursting application;
- and
- subtracting the amount of CPU cycles used by the bursting application from the elapsed time.
A system for determining CPU utilization of a processor hosting a plurality of virtual machines in a cloud data center, the system comprising:
- the processor comprising physical resources;
- a memory comprising a plurality of computer readable instructions which, when executed by the processor, is operable to execute:
- a plurality of virtual machines being operable to perform computing functions for a plurality of remote users, the plurality of virtual machines executed by the processor in the cloud data center comprising a first virtual machine;
- a hypervisor configured to manage the plurality of virtual machines to allocate physical resources of the processor among the plurality of virtual machines;
- and
- a bursting application executing on the first virtual machine, wherein the execution of the bursting application requests for an amount of available physical resources of the processor that causes the first virtual machine to substantially exceed its pre-allocated amount of physical resources;
- the hypervisor further configured to monitor the execution of the bursting application on the first virtual machine and for process interruptions from other virtual machines that demand the physical resources, wherein the processing interruptions temporarily occupy a portion of the physical resources being consumed by the bursting application on the first virtual machine;
- and
- the first virtual machine configured to determine the CPU utilization of the processor based on the monitored processing interruptions incurred over a pre-determined period of time, the determination of the CPU utilization further comprising:
- querying the hypervisor for an amount of CPU cycles used by the bursting application;
- determining an elapsed time corresponding to the execution of the bursting application;
- and
- subtracting the amount of CPU cycles used by the bursting application from the elapsed time.
A non-transitory computer readable medium containing program instructions embodied therein for determining CPU utilization of a physical hardware component hosting a plurality of virtual machines in a cloud data center, the program instructions comprising:
- instructions to execute a bursting application on a first virtual machine of the plurality of virtual machines hosted on the physical hardware component comprising a hypervisor and physical resources,
- wherein the instructions to execute the bursting application requests for an amount of available physical resources of the physical hardware component that causes the first virtual machine to substantially exceed its pre-allocated amount of physical resources;
- instructions to monitor the execution of the bursting application on the first virtual machine by the hypervisor and for processing interruptions from other virtual machines that demand the physical resources, wherein the processing interruptions temporarily occupy a portion of the physical resources being consumed by the bursting application on the first virtual machine;
- and
- instructions to determine the CPU utilization of the physical hardware component based on the monitored processing interruptions incurred over a pre-determined period of time, wherein the instructions to determine the CPU utilization further comprises:
- instructions to query the hypervisor for an amount of CPU cycles used by the bursting application;
- instructions to determine an elapsed time corresponding to the executing of the bursting application;
- and
- instructions to subtract the amount of CPU cycles used by the bursting application from the elapsed time.
Dependencies are inferred from the claim text.