NUCA-Aware VM Scheduling via LLC Group Partitioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing hypervisors are not NUCA aware, leading to sub-optimal virtual machine performance due to ineffective leveraging of LLC locality in systems with non-uniform cache access processors, as they incorrectly assume or ignore LLC boundaries, resulting in varying memory access times and CPU contention.

Innovation Solution

Implementing a NUCA-aware scheduler that partitions virtual CPUs into LLC groups matching the LLC domain size and places them to maximize LLC locality, using a 'group leader' and 'group follower' approach to balance compute load and cache contention, ensuring virtual CPUs remain within the same LLC domain.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If existing hypervisors schedule virtual CPUs without NUCA awareness, then the scheduling process is simple and compatible with traditional NUMA systems, but LLC locality is not effectively leveraged resulting in sub-optimal VM performance

Engineering Contradiction:
ImproveVM performanceVSAvoidscheduling complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments virtual CPUs into LLC groups, where each group is assigned to a specific LLC domain. This segmentation allows the scheduler to manage VMs at the LLC domain level rather than treating all cores uniformly, thereby improving LLC locality and VM performance while maintaining manageable scheduling complexity through structured group management.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent applies local quality by assigning different scheduling policies to different LLC domains based on their specific characteristics. Each LLC domain can have optimized placement strategies tailored to its capacity and workload patterns, allowing the system to leverage local cache properties for improved performance without requiring complete redesign of the scheduling mechanism.

Inventive Principle:
Principle #3Local quality

2Speed

If virtual CPUs are placed without considering LLC boundaries, then placement is simpler and more flexible, but cache access times increase due to remote LLC access

Engineering Contradiction:
Improvecache access timeVSAvoidplacement complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent performs preliminary action by pre-assigning virtual CPUs to specific LLC domains during VM placement, before actual workload execution begins. This advance assignment ensures that virtual CPUs are positioned in optimal locations regarding LLC locality, reducing cache access times during runtime without requiring complex dynamic remapping mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces LLC domain assignment as an intermediary layer between the hypervisor and physical CPU placement. This intermediary structure simplifies the placement problem by adding one level of abstraction (LLC domain assignment) that mediates between high-level VM scheduling requirements and low-level physical core placement constraints, making the overall system more manageable.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If LLC domains are overpacked with too many virtual CPUs, then more VMs can be consolidated on fewer domains, but compute capacity is exceeded and performance degrades

Engineering Contradiction:
ImproveVM consolidation efficiencyVSAvoidcompute capacity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies partial action by filling LLC domains to an optimal capacity level rather than maximizing consolidation at any cost. It recognizes that exceeding a certain threshold of virtual CPUs per LLC domain leads to diminishing returns and performance degradation, so it deliberately limits placement to maintain compute capacity headroom and ensure reliable performance.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The patent implements feedback mechanisms that monitor compute capacity utilization in each LLC domain and adjust placement decisions accordingly. When an LLC domain approaches its optimal capacity threshold, the scheduler receives feedback and redirects subsequent virtual CPU placements to underutilized domains, thereby maintaining balanced load distribution and preventing performance degradation from overpacking.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS12086622B2Optimizing virtual machine scheduling on non-uniform cache access (NUCA) systems
Publication Date: 2024.09.10 VMWARE INC
  • US12086622B2 patent drawing
  • US12086622B2 patent drawing
  • US12086622B2 patent drawing

AI summary

Techniques for optimizing virtual machine (VM) scheduling on a non-uniform cache access (NUCA) system are provided. In one set of embodiments, a hypervisor of the NUCA system can partition the virtual CPUs of each VM running on the system into logical constructs referred to as last level cache (LLC) groups, where each LLC group is sized to match (or at least not exceed) the LLC domain size of the system. The hypervisor can then place/load balance the virtual CPUs of each VM on the system's cores in a manner that attempts to keep virtual CPUs which are part of the same LLC group within the same LLC domain, subject to various factors such as compute load, cache contention, and so on.