VM Migration Based on NUMA Device Proximity

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current information handling systems face challenges in optimizing virtual machine performance and efficient resource utilization, particularly in virtualized environments, where virtual machines often experience overheads due to the need for virtual-physical device translation.

Innovation Solution

The system automatically selects a processor for a virtual machine based on proximity information, such as distance from physical devices, using a System Locality Information Table to associate the virtual machine with the nearest processor, thereby optimizing performance and reducing translation overheads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If virtual machines use host operating system drivers to communicate with physical devices, then device compatibility and ease of operation are improved, but system performance and resource utilization efficiency deteriorate due to translation overheads

Engineering Contradiction:
Improvedevice compatibilityVSAvoidsystem performance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts the driver functionality from the host operating system and places it directly in the virtual machine. This allows the virtual machine to communicate with physical devices using its own drivers, eliminating the need for virtual-physical translation through host drivers and thereby removing the associated performance overhead while maintaining device compatibility

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The patent introduces a device mapping mechanism that directly maps physical devices to virtual machines based on proximity information. This intermediary mapping layer enables direct communication paths between virtual machines and physical devices, bypassing the traditional host driver translation layer and improving system performance

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If virtual machines are allocated to processors without considering device proximity, then processor load balancing is improved, but communication efficiency with physical devices deteriorates

Engineering Contradiction:
Improveprocessor utilizationVSAvoidcommunication speed
Core Design Contradiction:
ProductivityVSSpeed

Solution Approach 1:

The patent applies local quality by considering the specific proximity relationship between each virtual machine, its associated physical device, and available processors. The system evaluates device proximity information to determine optimal processor assignments, ensuring that each virtual machine is allocated to the processor that provides the most efficient communication path to its required physical device

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If virtual machine migration is performed without considering device proximity, then system flexibility and adaptability are improved, but performance optimization deteriorates

Engineering Contradiction:
Improvesystem flexibilityVSAvoidperformance efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements feedback mechanisms that continuously monitor device proximity information and virtual machine performance metrics. Based on this feedback, the system dynamically adjusts virtual machine processor allocations and migration decisions to maintain optimal performance while preserving system flexibility and adaptability

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9699093B2Migration of virtual machine based on proximity to peripheral device in NUMA environment
Publication Date: 2017.07.04 DELL PROD LP
  • US9699093B2 patent drawing
  • US9699093B2 patent drawing
  • US9699093B2 patent drawing

AI summary

In one embodiment, a system includes a device and first and second processors. The first and second processors are configured to access first information. The first information includes a first parameter and a second parameter. The first parameter is associated with a position of the device relative to the first processor. The second parameter is associated with a position of the device relative to the second processor. The system is configured to access second information associated with a virtual machine. The virtual machine is configured to run on a host operating system. The virtual machine includes a guest operating system configured to communicate with the device. The system is also configured to automatically select the first processor based at least on the first information and the second information and to associate the virtual machine with the first processor in response to automatically selecting the first processor.