System and method for cooperative virtual machine memory scheduling
First Claim
1. A method for implementation by a resource scheduler component of a hypervisor, the resource scheduler managing a distribution of host physical memory (HPM) among a plurality of virtual machines (VMs) executing by way of a hypervisor on a host computer system, each VM having guest software, the method comprising:
- monitoring usage by each of the VMs of respective guest physical memories to determine how much of the HPM should be allocated to each of the VMs;
on determining that, based on said usage, an amount of HPM allocated to a source VM of the plurality of VMs should be reallocated to a target VM of the plurality of VMs, causing the resource scheduler to;
send allocation parameters to a balloon application executing in the source VM causing the balloon application executing in the source VM to reserve and write a value to a guest virtual memory (GVM) location in the source VM, the GVM location being mapped to a guest physical memory (GPM) location, which is mapped to an HPM location;
identifying the HPM location; and
allocating the HPM location to the target VM by mapping a guest physical memory location of the target VM to the HPM location.
1 Assignment
0 Petitions
Accused Products
Abstract
A resource scheduler for managing a distribution of host physical memory (HPM) among a plurality of virtual machines (VMs) monitors usage by each of the VMs of respective guest physical memories (GPM) to determine how much of the HPM should be allocated to each of the VMs. On determining that an amount of HPM allocated to a source VM should be reallocated to a target VM, the scheduler sends allocation parameters to a balloon application executing in the source VM causing it to reserve and write a value to a guest virtual memory (GVM) location in the source VM. The scheduler identifies the HPM location that corresponds to the reserved GVM and allocates it to the target VM by mapping a guest physical memory location of the target VM to the HPM location.
-
Citations
22 Claims
-
1. A method for implementation by a resource scheduler component of a hypervisor, the resource scheduler managing a distribution of host physical memory (HPM) among a plurality of virtual machines (VMs) executing by way of a hypervisor on a host computer system, each VM having guest software, the method comprising:
-
monitoring usage by each of the VMs of respective guest physical memories to determine how much of the HPM should be allocated to each of the VMs; on determining that, based on said usage, an amount of HPM allocated to a source VM of the plurality of VMs should be reallocated to a target VM of the plurality of VMs, causing the resource scheduler to; send allocation parameters to a balloon application executing in the source VM causing the balloon application executing in the source VM to reserve and write a value to a guest virtual memory (GVM) location in the source VM, the GVM location being mapped to a guest physical memory (GPM) location, which is mapped to an HPM location; identifying the HPM location; and allocating the HPM location to the target VM by mapping a guest physical memory location of the target VM to the HPM location. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A host computer system having a memory system and a processor for executing instructions stored in the memory system, the instructions including a hypervisor that supports execution of a plurality of virtual machines (VMs) each having guest software, they hypervisor including a resource scheduler component for managing a distribution of host physical memory (HPM) among the VMs, the resource scheduler being configured to implement a method including steps of:
-
monitoring usage by each of the VMs of respective guest physical memories to determine how much of the HPM should be allocated to each of the VMs; when an amount of HPM allocated to a source VM of the plurality of VMs should be reallocated to a target VM of the plurality of VMs; sending allocation parameters to a balloon application executing in the source VM causing the balloon application executing in the source VM to reserve and write a value to a guest virtual memory (GVM) location in the source VM, the GVM location being mapped to a guest physical memory (GPM) location, which is mapped to an HPM location; identifying the HPM location; and allocating the HPM location to the target VM by mapping a guest physical memory location of the target VM to the HPM location. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
Specification