System and method for controlling resource revocation in a multi-guest computer system
Abstract
At least one guest system, for example, a virtual machine, is connected to a host system, which includes a system resource such as system machine memory. Each guest system includes a guest operating system (OS). A resource requesting mechanism, preferably a driver, is installed within each guest OS and communicates with a resource scheduler included within the host system. If the host system needs any one the guest systems to relinquish some of the system resource it currently is allocated, then the resource scheduler instructs the driver within that guest system's OS to reserve more of the resource, using the guest OS's own, native resource allocation mechanisms. The driver thus frees this resource for use by the host, since the driver does not itself actually need the requested amount of the resource. The driver in each guest OS thus acts as a hollow “balloon” to “inflate” or “deflate,” that is, reserve more or less of the system resource via the corresponding guest OS. The resource scheduler, however, remains transparent to the guest systems.
Claims
exact text as granted — not AI-modified1 . A method for managing memory in a host system, the method comprising:
issuing a memory quantity request to a memory reservation software module in a virtual machine executing in the host system, the memory quantity request instructing the memory reservation software to request allocation of a first amount of guest physical memory from an operating system in the virtual machine; receiving, from the memory reservation module, a notification that it has been allocated a first set of guest physical memory by the operating system; and reclaiming the machine memory corresponding to the first set of guest physical memory for reallocation.
2 . A method as in claim 1 , wherein the amount of guest physical memory allocated to the memory reservation software module is equal to the amount of guest physical memory specified in the memory quantity request.
3 . A method as in claim 1 , wherein the host system includes a resource scheduler for allocating the machine memory, and the memory quantity request is issued by the resource scheduler to the virtual machine.
4 . The method as in claim 3 , wherein the resource scheduler remains transparent to the operating systems.
5 . A method of claim 4 further comprising: a virtual machine monitor for interfacing between the resource scheduler and the virtual machine.
6 . A method as in claim 5 , wherein the memory reservation software module is a driver installed within the operating system.
7 . A method as in claim 5 , wherein the memory reservation software module is a user-level application loaded in the virtual machine and running on the operating system.
8 . The method of claim 5 , further comprising:
limiting the rate at which the memory reservation software module requests, the guest physical memory from the operating system, to a maximum reservation change rate.
9 . The method of claim 8 , further comprising: adjusting the maximum reservation change rate.
10 . The method of claim 9 , wherein the guest physical memory of each virtual machine is mapped to various regions of the machine memory.
11 . A computer system comprising:
one or more virtual machines (VM), each VM comprising a memory reservation software module running over an operating system; and a resource scheduler for allocating machine memory among the VMs, the resource scheduler is configured to:
issue a memory quantity request to the memory reservation software module, the memory quantity request instructing the memory reservation software to request allocation of a first amount of guest physical memory from the operating system;
receive, from the memory reservation software, a notification that it has been allocated a first set of guest physical memory by the operating system; and
reclaim the machine memory corresponding to the first set of guest physical memory for reallocation.
12 . The computer system of claim 11 , wherein the resource scheduler remains transparent to the operating systems.
13 . The computer system of claim 12 , further comprising:
a virtual machine monitor for interfacing between the resource scheduler and the virtual machine.
14 . The computer system of claim 13 , wherein the resource scheduler limits the rate at which the memory reservation software module requests, the guest physical memory from the operating system, to a maximum reservation change rate.
15 . The computer system of claim 14 , wherein the memory reservation software module is a driver installed within the operating system.
16 . The computer system of claim 14 , the memory reservation software module is a user-level application loaded in the virtual machine and running on the operating system.
17 . One or more non-transitory computer-readable media comprising computer-executable instructions that, when executed by one or more processors, cause the one or more processors to perform a method for managing memory in a host system, the method comprising:
issuing a memory quantity request to a memory reservation software module in a virtual machine executing in the host system, the memory quantity request instructing the memory reservation software to request allocation of a first amount of guest physical memory from an operating system in the virtual machine; receiving, from the memory reservation software, a notification that it has been allocated a first set of guest physical memory by the operating system; and reclaiming the machine memory corresponding to the first set of guest physical memory for reallocation.
18 . The one or more non-transitory computer-readable media of claim 17 , wherein the memory quantity request is issued by a resource scheduler, which allocates the machine memory, to the virtual machine.
19 . The one or more non-transitory computer-readable media of claim 18 , wherein a virtual machine monitor interfaces between the resource scheduler and the virtual machine.
20 . The one or more non-transitory computer-readable media of claim 19 , wherein the computer-executable instructions further cause the one or more processors to:
limit the rate at which the memory reservation software module requests the guest physical memory from the operating system to a maximum reservation change rate.Join the waitlist — get patent alerts
Track US2017075729A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.