Virtual Machine Memory Management Asymmetric Pools

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current cloud computing systems face challenges in optimizing memory management across virtualized environments due to the increasing complexity and power demands of multi-core processors, leading to inefficiencies in resource allocation and utilization among virtual machines sharing asymmetric memory resources.

Innovation Solution

Implementing a system that dynamically allocates memory across asymmetric memory pools by monitoring and predicting access patterns of virtual machines, allowing for the migration of pages between different memory pools to optimize performance and resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If current memory management systems are used in virtualized environments with asymmetric memory pools, then basic memory allocation is achieved, but memory access performance is suboptimal due to lack of optimization for different memory characteristics

Engineering Contradiction:
Improvememory access performanceVSAvoidmemory management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory management system dynamically monitors access patterns of virtual machines and adjusts memory allocation in real-time, migrating pages between first and second memory pools based on observed usage. This dynamic adaptation optimizes performance without requiring static complex configuration, resolving the contradiction between performance and complexity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms by monitoring memory access patterns and using this information to make informed decisions about page migration and allocation. This feedback loop enables the system to automatically optimize performance based on actual usage, eliminating the need for manual complex management while improving productivity.

Inventive Principle:
Principle #23Feedback

2Productivity

If more virtual machines are consolidated on a server to improve resource utilization, then productivity increases, but memory resource contention and performance degradation occur

Engineering Contradiction:
Improveresource utilizationVSAvoidservice level agreement compliance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by allocating different types of memory (first memory with different characteristics than second memory) to different virtual machines or different portions of their address spaces based on specific access patterns. This allows each virtual machine to receive memory optimized for its workload, maintaining service level agreements even as more machines are consolidated on the server.

Inventive Principle:
Principle #3Local quality

3Productivity

If symmetric memory allocation is used across virtual machines, then simplicity is maintained, but performance is suboptimal when different virtual machines have different memory access patterns

Engineering Contradiction:
Improveexecution efficiencyVSAvoidmemory allocation mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The memory management system operates autonomously by monitoring its own memory usage patterns and automatically making allocation and migration decisions without external intervention. This self-service capability improves execution efficiency through optimized allocation while keeping the complexity hidden from users, as the system manages itself transparently.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9009384B2Virtual machine memory management in systems with asymmetric memory
Publication Date: 2015.04.14 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9009384B2 patent drawing
  • US9009384B2 patent drawing
  • US9009384B2 patent drawing

AI summary

A system is described herein that includes a predictor component that predicts accesses to portions of asymmetric memory pools in a computing system by a virtual machine, wherein the asymmetric memory pools comprise a first memory and a second memory, and wherein performance characteristics of the first memory are non-identical to performance of the second memory. The system also includes a memory management system that allocates portions of the first memory to the virtual machine based at least in part upon the accesses to the asymmetric memory pools predicted by the predictor component.