Performance variability reduction using an opportunistic hypervisor
AssigneeAmazon Technologies, Inc.
InventorsANTHONY NICHOLAS LIGUORI, JAN SCHOENHERR, KARIMALLAH AHMED MOHAMMED RASLAN, KONRAD JAN MILLER, FILIPPO SIRONI
Life of this patent
Estimating the term…
Abstract
An opportunistic hypervisor determines that a guest virtual machine of a virtualization host has voluntarily released control of a physical processor. The hypervisor uses the released processor to identify and initiate a virtualization management task which has not been completed. In response to determining that at least a portion of the task has been performed, the hypervisor enters a quiescent state, releasing the physical processor to enable resumption of the guest virtual machine.
Claims20
A method, comprising:
- transitioning, by one or more subcomponents of an opportunistic hypervisor of a virtualization host, from an active state to a default quiescent state, wherein the virtualization host comprises one or more physical processors, and wherein the one or more subcomponents do not utilize the one or more physical processors in the default quiescent state;
- determining, by the one or more subcomponents, that a particular guest virtual machine running on the virtualization host has relinquished control of a particular physical processor of the virtualization host, without being instructed to relinquish control of the particular physical processor by the opportunistic hypervisor;
- identifying, using the particular physical processor, by the one or more subcomponents, a particular task in a queue of outstanding virtualization management tasks;
- initiating, by the one or more subcomponents, at least (a) an operation requested by the particular guest virtual machine prior to relinquishing control of the particular physical processor, and (b) the particular task;
- and
- re-transitioning, by the one or more subcomponents, to the default quiescent state, wherein said re-transitioning comprises relinquishing the particular physical processor to enable resumption of execution of the particular guest virtual machine.
A system, comprising:
- a virtualization host, wherein the virtualization host comprises:
- one or more hypervisor components, and
- one or more guest virtual machines including a first guest virtual machine;
- wherein the one or more hypervisor components are configured to:
- determine that the first guest virtual machine has released control of a particular physical processor of the virtualization host, without being requested to release control of the particular physical processor by the one or more hypervisor components;
- identify, using the particular physical processor, at least a particular virtualization management task which has not been completed;
- initiate the particular virtualization management task;
- and
- in response to determining that at least a portion of the particular virtualization management task has been performed, enter a quiescent state, wherein to enter the quiescent state, the one or more hypervisor components are configured to relinquish the particular physical processor.
A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors implements one or more hypervisor components associated with a virtualization host, wherein the one or more hypervisor components are configured to:
- determine that a first guest virtual machine of the virtualization host has released control of a particular physical processor of the virtualization host;
- identify, using the particular physical processor, at least a particular virtualization management task;
- initiate the particular virtualization management task;
- and
- in response to determining that at least a portion of the particular task has been performed, enter a quiescent state, wherein to enter the quiescent state, the one or more hypervisor components relinquish the particular physical processor.
Dependencies are inferred from the claim text.