DBMS Memory Management in Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Database management systems (DBMS) face memory management conflicts when running in virtual machines, as the hypervisor's dynamic memory allocation can disrupt the DBMS's own memory management techniques, leading to insufficient memory and performance issues due to over-commitment of physical memory.

Innovation Solution

The integration of DBMS memory management with virtual machine memory management involves periodically determining the current physical memory allocation, adjusting memory pool sizes based on target measurements, and requesting memory reallocation to maintain optimal memory usage, using a balloon driver to communicate with the hypervisor and manage memory pools effectively.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If the hypervisor dynamically allocates physical memory to virtual machines based on current needs, then memory utilization efficiency is improved, but the DBMS memory management is disrupted leading to performance degradation

Engineering Contradiction:
Improvememory utilization efficiencyVSAvoidDBMS performance
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The patent introduces a memory management intermediary layer between the hypervisor and DBMS that translates hypervisor memory allocation changes into DBMS-compatible memory pool adjustments. This intermediary mechanism allows the hypervisor to dynamically allocate memory while the DBMS maintains control over its memory pools, preventing performance degradation while preserving memory utilization efficiency.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements dynamic memory pool resizing that automatically adjusts memory pool sizes in response to hypervisor allocation changes. The system continuously monitors memory allocation and dynamically modifies pool sizes to match current available memory, ensuring the DBMS adapts to changing memory conditions without performance loss.

Inventive Principle:
Principle #15Dynamics

2Speed

If the DBMS implements its own memory management techniques with fixed memory pools, then memory access performance is improved, but adaptability to varying memory availability in virtualized environments deteriorates

Engineering Contradiction:
Improvememory access performanceVSAvoidadaptability to memory availability
Core Design Contradiction:
SpeedVSAdaptability or versatility

Solution Approach 1:

The patent transforms fixed memory pools into dynamic memory pools that automatically resize based on available memory. The system monitors memory allocation changes from the hypervisor and adjusts pool sizes accordingly, maintaining fast memory access within available memory bounds while adapting to varying memory availability in virtualized environments.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements a feedback mechanism that continuously monitors memory allocation changes from the hypervisor and uses this information to adjust memory pool sizes. The system receives feedback about available memory and automatically modifies pool configurations to optimize performance within current resource constraints.

Inventive Principle:
Principle #23Feedback

3Quantity of substance

If the hypervisor over-commits physical memory to multiple virtual machines, then overall system memory efficiency is improved, but individual DBMS instances may experience insufficient memory leading to page thrashing

Engineering Contradiction:
Improvesystem memory efficiencyVSAvoidDBMS memory sufficiency
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent implements dynamic memory pool resizing that responds to actual memory allocation changes. When the hypervisor over-commits memory and allocation changes occur, the system automatically adjusts pool sizes to match available memory, preventing page thrashing while allowing the hypervisor to maintain high overall memory efficiency through over-commitment.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8935456B2Method and system for integrating database memory management in virtual machines
Publication Date: 2015.01.13 VMWARE INC
  • US8935456B2 patent drawing
  • US8935456B2 patent drawing
  • US8935456B2 patent drawing

AI summary

Memory of a database management system (DBMS) that is running in a virtual machine is managed using techniques that integrate DBMS memory management with virtual machine memory management. Because of the integration, the effectiveness of DBMS memory management is preserved even though the physical memory allocated to the virtual machine may change during runtime as a result of varying memory demands of other applications, e.g., instances of other virtual machines, running on the same host computer as the virtual machine.