Shared Memory Virtual Machine Migration via Pre-allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The migration of virtual machines that share memory regions poses challenges due to potential inconsistencies and resource constraints, particularly when network resources are limited, leading to complications in live migration across different sites with low bandwidth or high latency.

Innovation Solution

A system and method for migrating virtual machines that share memory regions, involving an identification module to select target hosts, an allocation module to allocate shared memory regions, and a migration module to stop and migrate virtual machines while ensuring overlapping execution periods, thereby optimizing the migration process and handling resource constraints.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Quantity of substance

If virtual machines share memory regions to optimize resource usage, then resource efficiency is improved, but migration complexity increases due to potential inconsistencies

Engineering Contradiction:
Improvememory resource efficiencyVSAvoidmigration complexity
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The system performs preliminary actions by allocating a target shared memory region on the destination host before migration, and stopping the second virtual machine before migration. This ensures that memory consistency is maintained and migration complexity is reduced by preparing the target environment in advance.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The hypervisor acts as an intermediary that manages the shared memory regions and coordinates the migration process. It ensures that the first virtual machine's access to the source shared memory region is properly handled while the second virtual machine migrates to the target shared memory region, resolving the consistency issue.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If virtual machines are migrated across sites with low bandwidth or high latency, then system flexibility is improved, but migration time increases

Engineering Contradiction:
Improvemigration flexibilityVSAvoidmigration time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by allocating the target shared memory region before the actual migration occurs. This reduces migration time by eliminating the need for memory region setup during the migration process, especially beneficial for remote sites with limited bandwidth.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If the second virtual machine is stopped before migration, then memory consistency is improved, but availability decreases during the transition

Engineering Contradiction:
Improvememory consistencyVSAvoidvirtual machine availability
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The hypervisor serves as an intermediary that manages the transition of the second virtual machine from the source to target host. It ensures memory consistency by controlling access to shared memory regions during migration, while minimizing availability impact through coordinated stopping and resuming operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10095536B2Migration of virtual machines with shared memory
Publication Date: 2018.10.09 RED HAT ISRAEL
  • US10095536B2 patent drawing
  • US10095536B2 patent drawing
  • US10095536B2 patent drawing

AI summary

A system and method of migration of a VM sharing a memory region with another VM includes identifying, by an identification module, a plurality of VMs running on a source host machine, where the plurality of VMs includes first and second VMs that share a first shared memory region coupled to the source host machine; identifying, by a target module, a host machine as a target for the second VM; allocating, by an allocation module, a second shared memory region coupled to the target host machine for the second VM; stopping, by a migration module, execution of the second VM on the source host machine; and migrating, by the migration module, the second VM to the target host machine.