Virtual SLIT Generation for NUMA Topology Mismatches
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Exposing a virtual System Locality Information Table (SLIT) to a guest operating system in a NUMA system is challenging, especially when the virtual NUMA topology differs from the physical topology, and virtual NUMA node migration invalidates latency values, leading to erroneous task placement and memory allocation decisions.
Innovation Solution
The hypervisor implements three approaches to expose a virtual SLIT to guest operating systems: one-to-one static placement, one-to-many static placement, and dynamic placement. These approaches involve creating a virtual SLIT based on physical SLIT latency values, allowing for accurate latency information while accommodating virtual NUMA node migrations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If the physical SLIT is passed as-is to the guest OS, then the guest OS can use accurate latency information, but this is only possible when the virtual NUMA topology matches the physical NUMA topology exactly
Solution Approach 1:
The patent creates a virtual SLIT that copies and adapts latency information from the physical SLIT. Instead of passing the physical SLIT directly, the hypervisor generates a virtual SLIT that mirrors the necessary latency data while accommodating virtual topology differences. This allows the guest OS to receive accurate latency information even when virtual and physical topologies differ.
Solution Approach 2:
The patent transforms latency parameters from the physical SLIT context to the virtual SLIT context. When virtual NUMA nodes are migrated between physical NUMA nodes, the hypervisor updates the latency values in the virtual SLIT to reflect new physical locations, thereby maintaining accuracy despite topology changes.
2Adaptability or versatility
If virtual NUMA nodes are migrated between physical NUMA nodes during runtime, then load balancing and flexibility improve, but the latency values in the virtual SLIT become invalid
Solution Approach 1:
The patent implements a dynamic virtual SLIT that can be updated in real-time. Unlike a static SLIT that would become invalid upon migration, the virtual SLIT is regenerated or updated whenever virtual NUMA nodes are migrated, ensuring latency values remain current and reliable while maintaining full migration flexibility.
Solution Approach 2:
The hypervisor monitors virtual NUMA node positions and uses this feedback to update the virtual SLIT accordingly. When a migration occurs, the system detects the change and refreshes the latency information in the virtual SLIT to reflect the new physical locations, maintaining reliability without restricting mobility.
3Adaptability or versatility
If the virtual NUMA topology has greater or fewer NUMA nodes than the physical NUMA topology, then virtualization flexibility improves, but the physical SLIT cannot be passed directly to the guest OS
Solution Approach 1:
The patent segments the SLIT generation process into manageable components. The virtual SLIT is constructed by mapping virtual NUMA nodes to physical NUMA nodes and selectively incorporating latency information from the physical SLIT. This segmentation allows the system to handle topology mismatches by processing only the relevant portions of the physical SLIT that correspond to active virtual nodes.
Solution Approach 2:
The hypervisor acts as an intermediary between the physical SLIT and the virtual SLIT. It translates and adapts the physical latency information into the virtual context, handling topology mismatches by creating appropriate mappings. This intermediary role simplifies the overall process by centralizing the transformation logic in the hypervisor rather than requiring complex guest OS handling.
Data Source
AI summary
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.


