Virtual Machine Migration Without Cache Coherency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional mechanisms for migrating virtual machines between physical machines are inefficient in moving associated data, leading to processing delays and increased hardware complexity due to the need for cache coherency support in interconnects.
Innovation Solution
Implementing a global storage pool connected to a high-speed interconnect, where processing cells store copies of virtual machine data in cache memories, and data is migrated without cache coherency support, allowing each processing cell to own its data portions and reducing communication traffic and hardware complexity.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If conventional mechanisms are used for migrating virtual machines, then data can be moved between physical machines, but processing delays occur and hardware complexity increases due to cache coherency support requirements
Solution Approach 1:
The patent extracts the cache coherency support requirement from the interconnect system by implementing a global storage pool that assumes ownership of data portions. This removes the burden of maintaining cache coherency from the interconnect hardware, thereby reducing device complexity while enabling efficient virtual machine migration.
Solution Approach 2:
The global storage pool acts as an intermediary between processing cells and the interconnect. It manages data portions and coordinates with processing cells to enable data transfer during virtual machine migration without requiring the interconnect to provide cache coherency support, thus improving migration efficiency while reducing hardware complexity.
2Reliability
If cache coherency support is provided in the interconnect, then data consistency is maintained, but communication traffic increases and processing delays occur
Solution Approach 1:
The patent segments the data management responsibility by dividing the global storage pool into distinct data portions, each owned by a specific processing cell. This segmentation allows the system to maintain data consistency through ownership tracking rather than through cache coherency protocols, thereby reducing communication traffic and processing delays while preserving reliability.
3Reliability
If cache coherency support is implemented in the interconnect, then data consistency is ensured, but the interconnect hardware becomes more complex
Solution Approach 1:
The patent extracts the cache coherency functionality from the interconnect hardware and relocates it to the global storage pool software layer. The global storage pool tracks data portion ownership and manages data consistency, allowing the interconnect to operate as a simple, high-speed communication medium without complex coherency protocols.
4Productivity
If high-speed communication is achieved without cache coherency support, then communication traffic is reduced and processing delays are minimized, but data consistency management becomes more challenging
Solution Approach 1:
The global storage pool serves as an intermediary that manages data consistency through an ownership-based model. Each data portion is assigned to a specific processing cell, and the global storage pool tracks these assignments. This approach enables high-speed communication without cache coherency protocols while maintaining data consistency through centralized ownership management.
Data Source
AI summary
A system includes an interconnect, processing cells connected to the interconnect, the processing cells containing corresponding cache memories and corresponding virtual machines, and a storage cell connected to the interconnect. The storage cell stores data portions that correspond to different ones of the processing cells, and the data portions are owned by individual ones of the processing cells to enable data communication over the interconnect without cache coherency support. A first and second of the processing cells are configured to migrate a virtual machine from the first processing cell to the second processing cell, where the migrated virtual machine in the second processing cell is configured to retrieve virtual machine data from a corresponding one of the data portions in the storage cell.


