Cooperative Caching for Distributed Storage Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Distributed storage systems face significant access latency issues due to slower storage levels, which existing caching schemes fail to adequately address.
Innovation Solution
A method of cooperative caching that involves requesting data from caches of storage devices, receiving cached and non-cached blocks with expected response times, and selectively requesting data from storage devices with minimal response times to optimize performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If data is stored in a distributed storage system with multiple storage levels, then storage capacity and cost-effectiveness are improved, but access latency increases due to slower storage levels
Solution Approach 1:
The system performs preliminary actions by proactively caching data blocks from slower storage levels into faster caches before they are actually needed. When a storage device anticipates that data will be needed soon, it pre-loads the data into faster storage levels, so that when the actual access occurs, the data is already available in high-speed cache, eliminating the latency penalty of slow storage retrieval.
Solution Approach 2:
The invention introduces an intermediary caching layer between the client and the slower storage devices. This cache acts as a mediator that absorbs the speed difference between fast and slow storage levels. When clients need data, they first check the cache; if the data is cached (hit), it is served quickly without accessing the slow storage. The cache thus mediates the access pattern, allowing the system to maintain large slow storage capacity while providing fast access through the intermediary cache layer.
2Stability of the object's composition
If distributed caching schemes use a centralized manager to prevent duplicate cache entries, then cache consistency is improved, but request processing overhead and network latency increase
Solution Approach 1:
Storage devices in the distributed system perform self-service by autonomously managing their own caching decisions without requiring centralized coordination. Each storage device independently determines what data to cache based on local observations of access patterns and its own state. This eliminates the need for a centralized manager to prevent duplicate entries, as each device makes independent caching decisions based on its local context, thereby reducing request processing overhead and network latency while maintaining cache consistency through distributed coordination.
3Reliability
If all storage devices are queried for data simultaneously, then data retrieval completeness is improved, but network load and response time worsen
Solution Approach 1:
The system segments the data retrieval process by dividing the set of storage devices into different groups or tiers based on their caching status and response characteristics. Instead of querying all devices simultaneously, the system first queries a subset of devices (e.g., those with higher cache hit probability or faster response times), and only queries additional devices if the initial queries do not retrieve the complete data. This segmentation reduces network load by avoiding unnecessary simultaneous queries to all devices while still ensuring data retrieval completeness.
Data Source
AI summary
An embodiment of a method of cooperative caching for a distributed storage system begins with a step of requesting data from storage devices which hold the data. The method continues with a step of receiving any cached blocks and expected response times for providing non-cached blocks from the storage devices. The method concludes with a step of requesting a sufficient number of the non-cached blocks from one or more particular storage devices which provides an expectation of optimal performance.


