Workflow-Aware NUMA Scheduling for Virtual Machine Lifecycle Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The complexity of workload scheduling in NUMA systems increases due to multiple processor sockets and varying CPU and memory loads, leading to inefficiencies in virtual machine management, particularly when optimizations do not benefit performance and incur additional costs.

Innovation Solution

Implementing a workflow-aware NUMA optimization method that identifies specific trigger conditions to adjust optimization operations, such as skipping memory migrations, calculations, or optimizations entirely for virtual machines or containers that are about to be terminated or migrated, thereby reducing unnecessary performance impacts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If NUMA optimization operations are performed for all virtual machines, then memory access performance is improved, but system complexity and overhead increase

Engineering Contradiction:
Improvememory access performanceVSAvoidscheduling complexity
Core Design Contradiction:
SpeedVSDevice complexity

Solution Approach 1:

The patent changes the parameter of optimization application by introducing workflow-awareness as a conditional parameter. The NUMA optimizer monitors workflow states and adjusts its behavior based on whether a virtual machine is in an active workflow or a transitional state (migrating, shutting down, paused). This selective application of optimizations based on workflow parameters resolves the contradiction by applying complex optimizations only when beneficial.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent implements dynamic adjustment of NUMA optimization behavior based on real-time workflow states. The system transitions from static optimization (always applying NUMA optimizations) to dynamic optimization (adjusting optimization intensity based on workflow awareness). This allows the system to adapt optimization levels to current operational conditions, reducing unnecessary complexity while maintaining performance benefits.

Inventive Principle:
Principle #15Dynamics

2Speed

If NUMA optimizations are applied to virtual machines about to be migrated or shut down, then memory access performance is improved, but unnecessary performance penalties are incurred

Engineering Contradiction:
Improvememory access performanceVSAvoidperformance penalty
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent applies preliminary action by detecting workflow state changes (migration, shutdown, pause) before NUMA optimization operations are executed. The workflow-aware NUMA optimizer identifies transitional states in advance and prevents the initiation of optimization operations during these periods. This preliminary detection and prevention mechanism avoids the performance penalties that would result from unnecessary optimizations during transitional states.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements skipping by intentionally bypassing NUMA optimization operations during specific workflow states. When the system detects that a virtual machine is in a transitional state (migrating, shutting down, or paused), it skips the optimization operations entirely. This selective skipping prevents the incurrence of unnecessary performance penalties while maintaining optimizations during stable operational states.

Inventive Principle:
Principle #21Skipping (Rushing through)

3Productivity

If comprehensive NUMA optimization operations are performed, then resource allocation efficiency is improved, but calculation overhead increases

Engineering Contradiction:
Improveresource allocation efficiencyVSAvoidcalculation time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent changes the operational parameters of the NUMA optimizer by introducing workflow-awareness as a controlling parameter. Instead of performing comprehensive optimization operations on all virtual machines regardless of state, the system adjusts its operation parameters based on workflow detection. This parameter-based control reduces calculation overhead by focusing optimization efforts only on virtual machines in appropriate states.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies partial action by performing NUMA optimization operations only on a subset of virtual machines that are in active workflow states, rather than applying optimizations comprehensively to all virtual machines. This selective partial application of optimization operations maintains resource allocation efficiency for critical workloads while reducing the overall calculation overhead by excluding virtual machines in transitional or inactive states.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS10241674B2Workload aware NUMA scheduling
Publication Date: 2019.03.26 VMWARE INC
  • US10241674B2 patent drawing
  • US10241674B2 patent drawing
  • US10241674B2 patent drawing

AI summary

Disclosed herein are techniques for performing workflow-aware NUMA (non-uniform memory access) optimizations. “Execution contexts” such as virtual machines or Docker containers are managed within a computer system that includes multiple NUMA nodes, each including a processor socket and memory local to that socket. NUMA optimization techniques are performed whereby execution contexts and/or data for such contexts are migrated between NUMA nodes. Migration may occur for various reasons, including for load balancing, to achieve fairness, or to increase the amount of data that is stored in memory local to a particular execution context. When it is known that an execution context will soon stop executing in a particular computer system, optimizations may provide little or no benefit. In such situations, the computer system performs modified NUMA optimizations, in which certain optimizations that would normally be performed are instead not performed.