Application-Aware Cache Coherency for Distributed Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvecache coherencyVSAvoiddata access efficiency
Core Design Contradiction:
ReliabilityVSProductivity

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If cached data is transferred to the destination site, then data access efficiency is improved, but system complexity increases

Engineering Contradiction:
Improvedata access efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

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

Inventive Principle:
Principle #25Self-service

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

Inventive Principle:
Principle #23Feedback

3Productivity

If data is destaged from originating site cache, then data access efficiency at destination is improved, but loss of time occurs during transfer

Engineering Contradiction:
Improvedata access efficiencyVSAvoiddata transfer time
Core Design Contradiction:
ProductivityVSLoss of time

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

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9575894B1Application aware cache coherency
Publication Date: 2017.02.21 EMC IP HLDG CO LLC
  • US9575894B1 patent drawing
  • US9575894B1 patent drawing
  • US9575894B1 patent drawing

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.