Application-Aware Cache Coherency for Distributed Virtual Machines
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems face inefficiencies in maintaining cache coherency and data access efficiency when a virtual machine or process is moved from one site to another, as cached data often remains on the originating location, leading to suboptimal performance in accessing data across different sites.
Innovation Solution
A distributed processing system is implemented, where data in the cache storage of the originating site is destaged and transferred to the cache of the destination site, ensuring that data is accessed and managed efficiently across sites, with the system detecting and managing the movement of processes and virtual machine disks to maintain cache coherency and data consistency.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If cached data is maintained on the originating location after VM migration, then cache coherency is preserved, but data access efficiency deteriorates
Solution Approach 1:
The system performs preliminary actions by detecting VM migration events and proactively transferring cached data from the originating site to the destination site before the process needs to access it. This prevents the contradiction by ensuring data is already in the optimal location (destination site cache) before access is required, thus maintaining both coherency and efficiency
Solution Approach 2:
The system introduces an intermediary mechanism (cache management system) that coordinates data transfer between sites. This intermediary detects migration events, manages the transfer of cached data, and ensures proper synchronization, resolving the contradiction by acting as a mediator between cache coherency requirements and data access efficiency
2Productivity
If cached data is transferred to the destination site, then data access efficiency is improved, but system complexity increases
Solution Approach 1:
The cache management system operates autonomously by automatically detecting VM migration events through parsing VMFS metadata and self-managing the data transfer process. This self-service approach reduces system complexity by eliminating the need for manual intervention or complex external coordination mechanisms
Solution Approach 2:
The system implements feedback mechanisms by monitoring VM migration events and using this information to trigger appropriate cache management actions. The feedback loop (detect migration → transfer data → update cache status) simplifies the system by using automated responses to detected events rather than complex predictive controls
3Productivity
If data is destaged from originating site cache, then data access efficiency at destination is improved, but loss of time occurs during transfer
Solution Approach 1:
The system performs data transfer as a preliminary action immediately upon detecting VM migration, before the process needs to access the data. This timing strategy minimizes the impact on productivity by initiating the transfer early, allowing it to proceed in parallel with other operations rather than blocking the data access path
Data Source
AI summary
A distributed processing system includes a first site and a second site, each containing at least one device having cache storage, nonvolatile storage, where, in response to moving a process running on the processor of the first site to the processor running on the second site, data in the cache storage of the first site is no longer accessed by the process, the data being read into the cache of the storage of the first site in response to the process accessing data in the non-volatile memory of the first site prior to being moved to the second site. A process running on the processor of the first site moving to the processor running on the second site and corresponding cache slots may be detected by parsing the VMFS containing virtual machine disks used by the process.


