Methods and apparatus for synchronizing multiple processors of a virtual machine
AssigneeGeneral Dynamics C4 Systems, Inc.
InventorCarl Frans van Schaik
Life of this patent
Estimating the term…
Abstract
Methods and apparatus for synchronizing multiple virtual processors of a virtual machine are disclosed. A hypervisor schedules a first virtual processor in a virtual machine to execute using a first physical processor. Subsequently, the hypervisor receives an indication from the first virtual processor that it is waiting on a second different virtual processor. If the second virtual processor is not already running on another physical processor, the hypervisor saves the priority associated with the first virtual processor, lowers the priority associated with the first virtual processor, and schedules the second virtual processor to execute using the first physical processor or another physical processor.
Claims40
A method of synchronizing multiple virtual processors of a virtual machine, the method comprising:
- scheduling a first virtual processor in the virtual machine to execute using a first physical processor;
- receiving an indication from the first virtual processor that the first virtual processor is waiting on a second different virtual processor in the virtual machine;
- determining if the second virtual processor is already executing using a second different physical processor;
- lowering a priority associated with the first virtual processor if the second virtual processor is not already executing using the second different physical processor;
- and
- scheduling the second virtual processor to execute using at least one of the first physical processor, the second physical processor, and a third physical processor.
An apparatus for synchronizing multiple virtual processors of a virtual machine, the apparatus comprising:
- a hypervisor;
- and
- a first physical processor operatively coupled to the hypervisor, wherein the hypervisor is structured to:
- schedule a first virtual processor in the virtual machine to execute using the first physical processor;
- receive an indication from the first virtual processor that the first virtual processor is waiting on a second different virtual processor in the virtual machine;
- determine if the second virtual processor is already executing using a second different physical processor;
- lower a priority associated with the first virtual processor if the second virtual processor is not already executing using the second different physical processor;
- and
- schedule the second virtual processor to execute using at least one of the first physical processor, the second physical processor, and a third physical processor.
A computer readable memory storing instructions structured to cause an electronic device to:
- schedule a first virtual processor in the virtual machine to execute using a first physical processor;
- receive an indication from the first virtual processor that the first virtual processor is waiting on a second different virtual processor in the virtual machine;
- determine if the second virtual processor is already executing using a second different physical processor;
- lower a priority associated with the first virtual processor if the second virtual processor is not already executing using the second different physical processor;
- and
- schedule the second virtual processor to execute using at least one of the first physical processor, the second physical processor, and a third physical processor.
A method of synchronizing multiple virtual processors of a virtual machine, the method comprising:
- scheduling a first virtual processor in the virtual machine to execute using at least one physical processor;
- receiving an indication from the first virtual processor that the first virtual processor is waiting for a resource from a second virtual processor;
- saving a priority level of the first virtual processor;
- lowering the priority level of the first virtual processor;
- and
- scheduling the second virtual processor to execute using the at least one physical processor.
Dependencies are inferred from the claim text.