Distributed Cache Coherency Protocol for SAN Virtual Machine Migration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In Storage Area Networks (SANs), cache coherency issues arise when multiple physical machines access the same shared storage, particularly when virtual machines are moved between machines, as the cache on the original machine needs to be invalidated, but the physical machine's cache cannot identify which blocks are associated with a virtual machine's file, leading to complications.
Innovation Solution
A distributed cache coherency protocol is implemented, where exclusive caching rights are delegated to computing machines for specific ranges of memory blocks in the block storage device, allowing only authorized machines to cache data, and the block delegation logic controls access and invalidation of cache data to maintain coherency across machines.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Speed
If caching is enabled on individual machines in a SAN environment, then I/O operations speed is improved, but cache coherency cannot be maintained among caches on various machines
Solution Approach 1:
The storage address space is segmented into delegated ranges, with exclusive caching rights assigned to specific computing machines for specific ranges. This segmentation allows different machines to cache different portions of storage without coherency conflicts, enabling local caching while maintaining overall system consistency.
Solution Approach 2:
A block delegation logic acts as an intermediary between storage devices and computing machines, managing caching rights and coordinating cache operations across multiple machines. This intermediary maintains a mapping between storage blocks and caching machines, ensuring coherency when virtual machines are moved or when caching decisions need to be coordinated.
2Reliability
If caching is disabled on individual machines to maintain coherency, then cache coherency is maintained, but I/O operations speed deteriorates
Solution Approach 1:
Different caching policies are applied to different storage ranges based on local needs. Each computing machine has exclusive caching rights for its delegated ranges, allowing aggressive local caching without affecting other machines. This local quality approach enables speed improvement while maintaining coherency through selective caching.
3Reliability
If cache invalidation is performed when virtual machines are moved, then cache coherency is maintained, but the complexity of tracking which blocks are associated with virtual machines increases
Solution Approach 1:
Caching rights are pre-delegated to computing machines for specific storage ranges before virtual machine migration occurs. The block delegation logic maintains a mapping between storage blocks and caching machines in advance, so when migration happens, the system can quickly determine which cache to invalidate without complex tracking during the migration process itself.
Data Source
AI summary
Systems, methods, and other embodiments associated with a distributed cache coherency protocol are described. According to one embodiment, a method includes receiving a request from a requester for access to one or more memory blocks in a block storage device that is shared by at least two physical computing machines and determining if a caching right to any of the one or more memory blocks has been granted to a different requester. If the caching right has not been granted to the different requester, access is granted to the one or more memory blocks to the requester.


