Write Cache Replication with Ring Buffer Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud storage environments face challenges in ensuring reliable and efficient storage I/O operations, particularly in virtual machines or containers, where existing write cache technologies fail to commit write operations, particularly in scenarios involving high latency I/O and write cache replication failures.
Innovation Solution
A host cache service that utilizes persistent memory and non-volatile memory technologies to improve storage I/O performance, specifically involving host cache service instances at different hosts to replicate cached writes across hosts, ensuring reliability and availability by using a novel replication model for a write cache that provides strong consistency semantics, non-blocking write committing, and failover orchestration.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If write cache replication is implemented across multiple hosts, then reliability is improved, but device complexity increases
Solution Approach 1:
The system segments the write cache into multiple independent ring buffers distributed across different hosts. Each ring buffer is a self-contained data structure that can operate independently, allowing the replication system to maintain reliability through distribution while managing complexity through modular, standardized components rather than complex inter-dependent structures.
Solution Approach 2:
The patent implements replication by creating copies of write cache data across multiple hosts using ring buffers. Instead of implementing complex distributed consensus protocols, the system uses straightforward copying mechanisms where primary and secondary ring buffers maintain synchronized copies of write operations, simplifying the replication model while ensuring data reliability.
2Reliability
If synchronous replication is used to ensure consistency, then reliability is improved, but speed deteriorates due to latency
Solution Approach 1:
The system performs preliminary actions by pre-allocating and pre-synchronizing ring buffer structures across hosts before write operations occur. The replication framework is established in advance with predefined primary and secondary buffers, allowing write operations to proceed without real-time negotiation or complex coordination, thus maintaining consistency while reducing latency.
Solution Approach 2:
The ring buffer structure serves as an intermediary mechanism that mediates between primary and secondary write cache hosts. It provides a standardized interface and data structure that simplifies the replication process, allowing synchronous consistency to be maintained through a predictable, structured exchange of write operations rather than complex peer-to-peer protocols.
3Speed
If write operations are committed before persistence to backing store, then speed is improved, but reliability worsens due to potential cache failures
Solution Approach 1:
The system implements beforehand cushioning by creating redundant copies of write operations in secondary ring buffers before the primary host commits the write. This pre-established redundancy acts as a cushion against potential primary host failures, allowing the system to commit writes quickly while having backup copies already prepared and synchronized, thus maintaining both speed and reliability.
Data Source
AI summary
A system comprises a first computer system and a second computer system. The first computer system includes a processor and a computer-readable medium storing instructions executable to determine that a primary host in a replica set is unavailable, the replica set comprising a primary ring buffer and one or more secondary ring buffers stored across a plurality of hosts. The first computer system is further configured to choose a secondary host as a de-stage primary for the replica set and to communicate an election to the secondary host. The second computer system includes a processor and a computer-readable medium storing instructions executable to receive the election as the de-stage primary for the replica set, identify a ring buffer stored in persistent memory comprising logs replicated from the primary ring buffer, and de-stage the logs from the ring buffer to a backing store.


