Virtual Memory Management in NUMA Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In multi-processor and multi-memory environments, existing methods for executing virtual machines in Non-Uniform Memory Access (NUMA) settings face performance bottlenecks due to memory access inefficiencies, particularly when trying to ensure quality of service for tasks requiring frequent memory access, as they often require data replication, migration, or task migration, leading to performance overhead.

Innovation Solution

A virtual memory management apparatus and method that allocates virtual system memory and virtual swap devices dynamically, utilizing internal memories of other processors or distributed memories connected through a network, with a virtual swap device map to optimize memory access by selecting the fastest available memory for virtual machines, thereby reducing overhead and enhancing memory use efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If data replication or migration is used to ensure memory access performance in NUMA environments, then memory access performance for frequently accessed data is improved, but performance overhead increases due to the replication and migration operations

Engineering Contradiction:
Improvememory access speedVSAvoidperformance overhead
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent extracts the memory allocation decision from the traditional VMM and assigns it to the application program itself. By allowing applications to directly allocate memory nodes from the NUMA memory hierarchy without VMM intervention, the system eliminates the performance overhead associated with VMM-mediated data replication and migration operations, while still ensuring fast memory access through direct allocation to appropriate memory nodes

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The invention enables application programs to perform self-allocation of memory nodes directly from the NUMA memory hierarchy. This self-service mechanism allows applications to autonomously select and allocate optimal memory nodes without requiring VMM assistance, thereby eliminating the performance overhead of VMM-mediated operations while maintaining fast memory access performance

Inventive Principle:
Principle #25Self-service

2Adaptability or versatility

If a VMM is used to virtualize NUMA environment into UMA environment, then virtual machine execution is enabled, but performance overhead occurs due to replication, migration, or task migration requirements

Engineering Contradiction:
Improvevirtual machine execution capabilityVSAvoidperformance overhead
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The patent extracts the memory allocation function from the VMM and transfers it to the application program. This allows virtual machines to execute in the native NUMA environment without VMM-mediated virtualization overhead. Applications directly allocate memory nodes from the NUMA hierarchy, eliminating the need for VMM-induced data replication and migration operations that caused performance overhead

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Instead of having the VMM mediate memory allocation for virtual machines (traditional approach), the invention inverts the approach by allowing application programs to directly perform memory allocation from the NUMA memory hierarchy. This inversion eliminates the VMM overhead while maintaining virtual machine execution capability

Inventive Principle:
Principle #13The other way round (Inversion)

3Ease of operation

If multiple processors access memory through a bus in UMA environment, then all processors can access memory at the same speed, but memory access performance deteriorates due to bottleneck effects as more processors access memory

Engineering Contradiction:
Improveuniform memory access capabilityVSAvoidmemory access speed
Core Design Contradiction:
Ease of operationVSSpeed

Solution Approach 1:

The patent segments the memory access architecture by assigning each processor its own L2 cache memory node in the NUMA hierarchy. This segmentation eliminates the single bus bottleneck present in UMA systems, as each processor can independently access its local L2 cache without contending for a shared memory bus, thereby maintaining uniform access capability while improving overall memory access speed

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The invention transitions from a flat UMA memory architecture to a hierarchical NUMA memory architecture with multiple memory dimensions (L1 cache, L2 cache, main memory). This dimensional expansion allows processors to access memory at different hierarchical levels, reducing the bottleneck effect of single-level bus access while maintaining ease of operation through standardized allocation interfaces

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Data Source

PatentUS9229751B2Apparatus and method for managing virtual memory
Publication Date: 2016.01.05 SAMSUNG ELECTRONICS CO LTD
  • US9229751B2 patent drawing
  • US9229751B2 patent drawing
  • US9229751B2 patent drawing

AI summary

A virtual memory management apparatus and method to execute virtual machines in a multi-processor and multi-memory environment are provided. The virtual memory management apparatus includes a virtual system memory manager configured to allocate a virtual system memory to a virtual machine. The virtual memory management apparatus further includes a virtual swap device map storage configured to store location information of virtual swap devices that are able to be allocated to the virtual machine. The virtual memory management apparatus further includes a virtual swap device manager configured to allocate a virtual swap device to the virtual machine with reference to a virtual swap device map.