Virtual non-uniform memory access (NUMA) locality table for NUMA systems
AssigneeVMware, Inc.
InventorsTimothy Merrifield, Petr Vandrovec, Xunjia Lu, James White
Life of this patent
Estimating the term…
Abstract
Various approaches for exposing a virtual Non-Uniform Memory Access (NUMA) locality table to the guest OS of a VM running on NUMA system are provided. These approaches provide different tradeoffs between the accuracy of the virtual NUMA locality table and the ability of the system's hypervisor to migrate virtual NUMA nodes, with the general goal of enabling the guest OS to make more informed task placement/memory allocation decisions.
Claims20
A method comprising:
- assigning, by a hypervisor running on a non-uniform memory access (NUMA) computer system, a virtual NUMA topology to a virtual machine (VM), the virtual NUMA topology including a plurality of virtual NUMA nodes;
- determining a virtual NUMA locality table for the VM in accordance with a physical NUMA locality table of the NUMA computer system, wherein the physical NUMA locality table comprises latency values for a plurality of physical NUMA nodes of the NUMA computer system, and wherein latency values in the virtual NUMA locality table are based on:
- mappings between the plurality of virtual NUMA nodes and the plurality of physical NUMA nodes;
- and
- updating the virtual NUMA locality table in response to migration of a virtual NUMA node;
- and
- exposing the virtual NUMA locality table to a guest operating system (OS) of the VM.
A non-transitory computer readable storage medium having stored thereon program code executable by a hypervisor of a non-uniform memory access (NUMA) computer system, the program code embodying a method comprising:
- assigning a virtual NUMA topology to a virtual machine (VM), the virtual NUMA topology including a plurality of virtual NUMA nodes;
- determining a virtual NUMA locality table for the VM in accordance with a physical NUMA locality table of the NUMA computer system, wherein the physical NUMA locality table comprises latency values for a plurality of physical NUMA nodes of the NUMA computer system, and wherein latency values in the virtual NUMA locality table are based on:
- mappings between the plurality of virtual NUMA nodes and the plurality of physical NUMA nodes;
- updating the virtual NUMA locality table in response to migration of a virtual NUMA node;
- and
- exposing the virtual NUMA locality table to a guest operating system (OS) of the VM.
A non-uniform memory access (NUMA) computer system comprising:
- a hypervisor;
- a plurality of physical NUMA nodes;
- and
- a non-transitory computer readable medium having stored thereon program code that causes the hypervisor to:
- assign a virtual NUMA topology to a virtual machine (VM), the virtual NUMA topology including a plurality of virtual NUMA nodes;
- determine a virtual NUMA locality table for the VM in accordance with a physical NUMA locality table of the NUMA computer system, wherein the physical NUMA locality table comprises latency values for the plurality of physical NUMA nodes, and wherein latency values in the virtual NUMA locality table are based on:
- mappings between the plurality of virtual NUMA nodes and the plurality of physical NUMA nodes;
- and
- updating the virtual NUMA locality table in response to migration of a virtual NUMA node;
- and
- expose the virtual NUMA locality table to a guest operating system (OS) of the VM.
Dependencies are inferred from the claim text.