VM Migration Across Processor Architectures via BIOS Feature Emulation
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Virtual machine migration across different CPU architectures is hindered by architectural differences between vendors and generations, particularly when live migration occurs between systems with incompatible instruction sets, such as SSE3 and SSE4, as applications rely on processor identification to determine code paths, leading to issues during migration.
Innovation Solution
A method that manages a cluster of machines to emulate a common feature set by masking or enabling/disabling processor features at the BIOS level, allowing virtual machine migration between systems with similar instruction set compatibility, thereby enabling live migration across different architectures.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If live migration is performed between systems with different processor architectures (e.g., SSE4 to SSE3), then migration flexibility and adaptability are improved, but system reliability deteriorates due to unimplemented instructions and architectural incompatibilities
Solution Approach 1:
The patent introduces a translation layer that acts as an intermediary between the source and target processor architectures. This translation layer intercepts instructions from the source architecture (e.g., SSE4) and translates them into equivalent instructions for the target architecture (e.g., SSE3), enabling reliable migration across architectural boundaries without losing instructions or compromising system reliability
Solution Approach 2:
The patent changes the parameter representation of instructions by maintaining a mapping table that associates source architecture instructions with their target architecture equivalents. This parameter transformation allows the system to preserve instruction semantics while adapting to different architectural parameter sets, thereby maintaining reliability during migration
2Adaptability or versatility
If processor features are masked or emulated at the BIOS level to enable migration, then adaptability across architectures is improved, but device complexity increases due to additional emulation layers
Solution Approach 1:
The patent implements a universal translation mechanism that handles multiple processor architectures through a single unified interface. The translation layer and mapping table structure are designed to support various source and target architectures without requiring separate emulation implementations for each architecture pair, thereby reducing overall device complexity while maintaining broad architectural compatibility
3Measurement precision
If applications rely on processor identification to determine code paths, then execution precision is improved, but migration capability deteriorates due to code path decisions being architecture-specific
Solution Approach 1:
The patent performs preliminary translation of architecture-specific code paths before migration occurs. By pre-translating conditional branches and architecture-specific instructions into target architecture equivalents, the system preserves code path selection accuracy while eliminating architecture-specific dependencies that would otherwise prevent migration
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A system and method for performing a VM migration which manages a cluster of machines in a pool for live migration to the same feature set or behavior. In certain embodiments, machines within the pool can be configured to emulate a certain feature set to enable a VM migration amongst the similar pools. The emulation can be by either masking reporting of a feature set or enabling/disabling a feature set. The handling of emulation registers within the hardware occurs at a firmware level rather than an operating system or hypervisor level.