Instantiating a virtual machine with a virtual non-uniform memory architecture
US-2017075617-A1 · Mar 16, 2017 · US
US10705879B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10705879-B2 |
| Application number | US-201615355754-A |
| Country | US |
| Kind code | B2 |
| Filing date | Nov 18, 2016 |
| Priority date | Mar 26, 2009 |
| Publication date | Jul 7, 2020 |
| Grant date | Jul 7, 2020 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Techniques for effectuating a virtual Non-Uniform Memory Architecture (NUMA) for virtual machines and adjusting memory in virtual NUMA nodes are described. The virtual NUMA node topology may include a plurality of virtual NUMA nodes. The memory may be adjusted based on pressure in a specific virtual NUMA node of the plurality and an amount of guest memory assigned to the specific virtual NUMA node.
Opening claim text (preview).
What is claimed: 1. A method, comprising: receiving a request to instantiate a virtual machine; selecting a virtual non-uniform memory architecture (NUMA) node topology for the virtual machine, the virtual NUMA node topology including a plurality of virtual NUMA nodes; instantiating the virtual machine on a computer system, the virtual machine including the plurality of virtual NUMA nodes; and adjusting an amount of guest memory assigned to a specific virtual NUMA node by a second amount of guest memory, wherein the adjusting comprises exchanging the second amount of guest memory between the specific virtual NUMA node and a second virtual NUMA node of the plurality of virtual NUMA nodes. 2. The method of claim 1 , wherein adjusting an amount of guest memory assigned to the specific virtual NUMA node is based at least in part on memory pressure in the second virtual NUMA node. 3. The method of claim 1 , further comprising: sending a message to a guest operating system running on the specific virtual NUMA node, wherein the message indicates that at least one memory block of guest memory has been added to the specific virtual NUMA node. 4. The method of claim 1 , further comprising: associating at least one memory block of guest memory with system memory prior to adding, during runtime execution of the virtual machine, guest memory to the specific virtual NUMA node. 5. The method of claim 1 , further comprising: removing, during runtime execution of the virtual machine, guest memory from the specific virtual NUMA node. 6. The method of claim 5 , wherein removing, during runtime execution of the virtual machine, guest memory from the specific virtual NUMA node is based at least in part on memory pressure of the specific virtual NUMA node. 7. The method of claim 5 , wherein the removing, during runtime execution of the virtual machine, guest memory from the specific virtual NUMA node, further comprises: disassociating at least one memory block of guest memory of the specific virtual NUMA node from system memory. 8. A computer system, comprising: circuitry for receiving a request to instantiate a virtual machine; circuitry for selecting a virtual non-uniform memory architecture (NUMA) node topology for the virtual machine, the virtual NUMA node topology including a plurality of virtual NUMA nodes; circuitry for instantiating the virtual machine on a computer system, the virtual machine including the plurality of virtual NUMA nodes; and circuitry for adjusting an amount of guest memory assigned to a specific virtual NUMA node by a second amount of guest memory, wherein the adjusting comprises exchanging the second amount of guest memory between the specific virtual NUMA node and a second virtual NUMA node of the plurality of virtual NUMA nodes. 9. The computer system of claim 8 , wherein the amount of guest memory assigned to the specific virtual NUMA node is based at least in part on memory pressure in the second virtual NUMA node. 10. The computer system of claim 8 , further comprising: circuitry for sending a message to a guest operating system running on the specific virtual NUMA node, wherein the message indicates that at least one memory block of guest memory has been added to the specific virtual NUMA node. 11. The computer system of claim 8 , further comprising: circuitry for associating at least one memory block of guest memory with system memory prior to adding, during runtime execution of the virtual machine, guest memory to the specific NUMA node. 12. The computer system of claim 8 , further comprising: circuitry for removing, during runtime execution of the virtual machine, guest memory from the specific virtual NUMA node. 13. The computer system of claim 12 , wherein the removing, during runtime execution of the virtual machine, guest memory from the specific virtual NUMA node is based at least in part on memory pressure of the specific virtual NUMA node. 14. The computer system of claim 12 , wherein the circuitry for removing, during runtime execution of the virtual machine, guest memory from the specific virtual NUMA node, further comprises: circuitry for disassociating at least one memory block of guest memory of the specific virtual NUMA node from system memory. 15. A non-transitory computer readable medium including processor-executable instructions, comprising: instructions for receiving a request to instantiate a virtual machine; instructions for selecting a virtual non-uniform memory architecture (NUMA) node topology for the virtual machine, the virtual NUMA node topology including a plurality of virtual NUMA nodes; instructions for instantiating the virtual machine on a computer system, the virtual machine including the plurality of virtual NUMA nodes; and instructions for adjusting an amount of guest memory assigned to a specific virtual NUMA node by a second amount of guest memory, the second amount of guest memory being exchanged between the specific virtual NUMA node and a second virtual NUMA node of the plurality of virtual NUMA nodes. 16. The non-transitory computer readable medium of claim 15 , wherein the amount of guest memory assigned to the specific virtual NUMA node is based at least in part on memory pressure in the second virtual NUMA node. 17. The non-transitory computer readable medium of claim 15 , further comprising: instructions for associating at least one memory block of guest memory with system memory prior to adding, during runtime execution of the virtual machine, guest memory to the specific virtual NUMA node. 18. The non-transitory computer readable medium of claim 15 , further comprising: instructions for removing, during runtime execution of the virtual machine, guest memory from the specific virtual NUMA node. 19. The non-transitory computer readable medium of claim 18 , wherein the removing, during runtime execution of the virtual machine, guest memory from the specific virtual NUMA node is based at least in part on memory pressure of the specific virtual NUMA node. 20. The non-transitory computer readable medium of claim 18 , wherein the instructions for removing, during runtime execution of the virtual machine, guest memory from the specific virtual NUMA node, further comprise: instructions for disassociating at least one memory block of guest memory of the specific virtual NUMA node from system memory.
Multiple user address space allocation, e.g. using different base addresses (interprocessor communication G06F15/163) · CPC title
Resource optimization · CPC title
the resource being the memory · CPC title
Computing infrastructure, e.g. computer clusters, blade chassis or hardware partitioning (casings, cabinets, racks or drawers for data centers H05K5/00) · CPC title
Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.