Performance variability reduction using an opportunistic hypervisor

US10127068B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10127068-B2
Application numberUS-201615199489-A
CountryUS
Kind codeB2
Filing dateJun 30, 2016
Priority dateJun 30, 2016
Publication dateNov 13, 2018
Grant dateNov 13, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

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.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, comprising: transitioning, by one or more subcomponents of an opportunistic hypervisor of a virtualization host, a state of the one or more subcomponents 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, the state of 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. 2. The method as recited in claim 1 , further comprising: storing, by an offloaded virtualization manager component of the virtualization host, at a location accessible by the one or more subcomponents of the opportunistic hypervisor, an indication of the particular task prior to said identifying. 3. The method as recited in claim 1 , wherein the particular task comprises one or more of: (a) collecting one or more metrics pertaining to the particular guest virtual machine, (b) initiating a shutdown or restart of a different guest virtual machine of the virtualization host, (c) initiating a launch of an additional guest virtual machine at the guest virtual machine or (d) overwriting a portion of memory which was allocated to a guest virtual machine that has been terminated. 4. The method as recited in claim 1 , further comprising: releasing control of the particular physical processor by the particular guest virtual machine in response to determining that a particular operation is to be performed on behalf of the particular guest virtual machine, wherein the particular operation comprises one or more of: (a) reading a timer or (b) performing an I/O operation. 5. The method as recited in claim 1 , further comprising performing, by the one or more subcomponents of the opportunistic hypervisor: storing, in a persistent memory location, a representation of a state machine associated with a second virtualization management task; in response to determining, after re-transitioning to the default quiescent state, that the particular physical processor has been released, performing an operation to initiate a particular state transition of the second virtualization management task; and updating the representation of the state machine to indicate that the particular state transition has been completed. 6. 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. 7. The system as recited in claim 6 , further comprising an offloaded virtualization manager component configured to: store, at a location accessible by the one or more hypervisor components, an indication of the particular virtualization management task; and wherein to identify the particular virtualization management task, the one or more hypervisor components are configured to read contents of the location. 8. The system as recited in claim 7 , wherein the offloaded virtualization manager component is configured to: generate the particular virtualization management task in response to a command received from a control plane component of a virtualized computing service. 9. The system as recited in claim 6 , wherein the particular virtualization management task comprises one or more of: (a) collecting one or more metrics pertaining to the first guest virtual machine, (b) initiating a shutdown or restart of a different guest virtual machine of the one or more guest virtual machines, (c) initiating a launch of an additional guest virtual machine or (d) overwriting a portion of memory which was allocated to a guest virtual machine that has been terminated. 10. The system as recited in claim 6 , wherein an administrative component of the first guest virtual machine is configured to release control of the first physical processor in response to determining that a particular operation is to be performed on behalf of the first guest virtual machine, wherein the particular operation comprises one or more of: (a) reading a timer or (b) performing an I/O operation. 11. The system as recited in claim 6 , wherein the one or more hypervisor components are configured to: store, in a persistent memory location a representation of a state machine associated with a second virtualization management task; in response to determining, after entering the quiescent state, that the particular physical processor has been released, perform an operation to initiate a particular state transition of the second virtualization management task; and update, prior to re-entering the quiescent state, the representation of the state machine to indicate that the particular state transition has been completed. 12. The system as recited in claim 6 , further comprising an offloaded virtualization manager component configured to: in response to determining that a priority associated with a second virtualization management task exceeds a threshold, issue an interrupt to at least a first hypervisor component of the one or more hypervisor components; and wherein the first hypervisor component is configured to: in response to the interrupt, exit the quiescent state and initiate the second virtualization management task. 13. The system as recited in claim 12 , wherein the second virtualization management task comprises performing an operation to diagnose or resolve an unhealthy state of a particular guest virtual machine of the one or more guest virtual machines. 14. The system as recited in claim 6 , wherein the one or more hypervisor components comprise one or more of (a) a hypervisor controller configured to receive communications generated at an offloaded virtualization manager component, (b) a respective guest virtual machine manager associated with individual ones of the one or more guest virtual machines, or (c) a memory scrubber configur

Assignees

Inventors

Classifications

  • Starting, stopping, suspending or resuming virtual machine instances · CPC title

  • Secure boot · CPC title

  • Hypervisor-specific management and integration aspects · CPC title

  • Hypervisors; Virtual machine monitors · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10127068B2 cover?
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 quiescen…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 13 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 10 related publications on this page (citations in our corpus or others sharing the same primary CPC).