Multi-ring cache architecture for distributed storage fault tolerance
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional distributed cache systems face challenges with fault tolerance, particularly when node devices fail, leading to increased load on the underlying storage during replacement and data synchronization.
Innovation Solution
A multi-layer cache configuration is introduced, featuring inner and outer cache rings with asymmetric node distribution, allowing for efficient data management and fault tolerance by asynchronously loading data and handling write operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a conventional distributed cache system is used, then the system can provide caching functionality, but when node devices fail, the load on underlying storage increases significantly during replacement and data synchronization
Solution Approach 1:
The cache system is segmented into multiple independent cache rings (first cache ring, second cache ring) with different replication factors. This segmentation allows the system to isolate failures to specific rings and use rings with different redundancy levels for different failure scenarios, thereby maintaining fault tolerance while reducing overall storage load compared to a single uniform cache system.
Solution Approach 2:
The system uses different replication factors for different cache rings (e.g., first replication factor for first cache ring, second replication factor for second cache ring). This parameter change allows optimization of storage load versus fault tolerance for each ring independently, enabling the system to achieve reliable fault tolerance with reduced overall storage burden.
2Reliability
If node devices are replaced quickly to maintain fault tolerance, then system reliability is improved, but the load on underlying storage during replacement increases
Solution Approach 1:
The system performs preliminary actions by maintaining multiple cache rings with different replication factors in advance. When a node fails, the system can immediately activate pre-configured replacement nodes from the appropriate cache ring without needing to perform complex real-time decisions or heavy data synchronization, thus achieving quick replacement with minimal storage load.
Solution Approach 2:
The multi-ring cache structure acts as an intermediary layer between the failed node and the underlying storage. Instead of directly loading data from underlying storage during replacement, the system uses the multi-ring cache architecture to facilitate data transfer and synchronization, reducing the immediate burden on underlying storage.
3Reliability
If a multi-layer cache configuration is introduced, then fault tolerance and latency are improved, but the device complexity increases
Solution Approach 1:
The complex cache architecture is segmented into distinct, independently managed cache rings with clear definitions of replication factors and failure modes. Each ring handles specific failure scenarios, making the overall complexity manageable through modular design and clear separation of concerns.
Solution Approach 2:
The multi-ring cache configuration provides multi-functionality by handling different failure scenarios (single node failure, multi-node failure, partial failures) with different rings. This universal approach allows a single cache system to address multiple reliability requirements without needing separate specialized systems for each failure mode.
Data Source
AI summary
A method of operating a distributed cache of storage that includes a range of stored data. The method includes segmenting a first cache level of the storage into a plurality of first data sub-ranges of the range of stored data. The method includes segmenting a second cache level of the storage into a plurality of second data sub-ranges of the range of stored data, the plurality of first data sub-ranges and the plurality of second data sub-ranges are associated with a plurality of node devices. The method includes processing an access request associated with data within the range of stored data by accessing one or more node devices of the plurality of node devices.


