OS Code Patching During Live Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

During live migration of virtual machines, existing technologies fail to adequately address hardware differences between source and destination physical machines, leading to incorrect process accounting and functionality issues due to variations in processor versions and NUMA topology.

Innovation Solution

A method that detects hardware changes during live migration and modifies operating system code to account for these differences by broadcasting messages to processors, placing them in a waiting state to prevent access to potentially modified OS portions, allowing safe modification of OS code to support the new hardware characteristics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If live migration is performed between physical machines with different hardware characteristics, then VM mobility and resource flexibility are improved, but process accounting accuracy and OS functionality deteriorate due to processor version mismatches and NUMA topology changes

Engineering Contradiction:
ImproveVM mobilityVSAvoidprocess accounting accuracy
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The system performs preliminary detection of hardware characteristics at the source physical machine before migration, identifies the target hardware profile, and pre-prepares the appropriate OS kernel image that is compatible with the destination hardware. This preliminary action ensures that when the VM is migrated, the pre-prepared kernel image can be seamlessly loaded and activated, maintaining process accounting accuracy and OS functionality without requiring post-migration adjustments

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the OS kernel parameters and configuration based on the detected hardware characteristics. Different kernel images with tailored parameters are prepared for different hardware profiles (processor versions, NUMA topologies). When migration occurs, the system switches to the kernel image with parameters matched to the destination hardware, ensuring correct process accounting and optimal performance across diverse hardware environments

Inventive Principle:
Principle #35Parameter changes

2Reliability

If OS code is modified to account for hardware differences, then functionality and process accounting accuracy are improved, but system complexity and migration time increase

Engineering Contradiction:
ImprovefunctionalityVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system creates a universal OS image generation mechanism that can produce multiple specialized kernel images from a single base template. The base kernel image contains configurable parameters and modules that can be automatically adjusted to create hardware-specific versions. This multi-functionality allows the system to handle diverse hardware configurations without maintaining entirely separate OS codebases, reducing overall system complexity while ensuring functionality across different hardware platforms

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system introduces an intermediary component (the OS image preparation and management module) that mediates between the VM migration process and the hardware-specific OS requirements. This intermediary detects hardware characteristics, selects or generates appropriate kernel images, and manages the switching process. By centralizing these functions in an intermediary layer, the complexity is isolated and managed separately from the core VM migration and application logic, making the overall system more manageable

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If processors are placed in waiting state during OS modification, then code modification safety is improved, but migration time increases

Engineering Contradiction:
Improvecode modification safetyVSAvoidmigration time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary preparation of hardware-specific OS kernel images at the source physical machine before the actual migration occurs. By detecting the destination hardware characteristics in advance and pre-generating the appropriate kernel image, the system minimizes the time required for OS modification during migration. The pre-prepared kernel image can be quickly transferred and activated at the destination, reducing processor waiting time while maintaining code modification safety through controlled image switching

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11436043B2Operating system code patching during live migration
Publication Date: 2022.09.06 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US11436043B2 patent drawing
  • US11436043B2 patent drawing
  • US11436043B2 patent drawing

AI summary

For a process of an operating system, it is detected that a live migration has occurred, the live migration comprising a change in a hardware characteristic of a computer system on which the process executes. A first message is broadcast to a set of processors, the first message causing each processor in the set of processors to enter a waiting state. While each of the set of processors is in the waiting state, a portion of a set of program instructions of the operating system is modified.