Cache Memory Coordination via Aggregated Hit Miss Data
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In storage area network (SAN) environments, local cache memories in application servers operate independently without coordination, leading to suboptimal caching decisions due to lack of consolidated workload information from other servers, resulting in inefficient cache management and performance.
Innovation Solution
A method where a shared data storage system aggregates cache hit and miss data from multiple local servers, providing aggregated data to update cache memories, allowing for coordinated caching decisions based on global knowledge of cache hits and misses, and implementing asynchronous cache updates to avoid impacting application requests.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If local cache memories in application servers operate independently without coordination, then device complexity is reduced and ease of operation is improved, but cache performance and productivity deteriorate due to lack of consolidated workload information
Solution Approach 1:
The system implements feedback mechanisms where local servers report cache hit/miss data to the shared data storage system, which then provides aggregated cache data information back to local servers for updating their cache memories. This closed-loop feedback enables coordinated cache management that improves performance while maintaining operational simplicity.
Solution Approach 2:
The shared data storage system serves multiple functions: it stores data, aggregates cache data information from multiple local servers, and distributes this aggregated information back to local servers. This multi-functionality consolidates what would otherwise require separate systems into a single coordinated platform.
2Productivity
If local servers report cache data information to shared data storage system for aggregation, then cache performance improves through coordinated caching decisions, but device complexity and communication overhead increase
Solution Approach 1:
Local servers autonomously report their cache hit/miss data to the shared data storage system without requiring complex coordination protocols. The system self-manages the aggregation and distribution of cache data information, reducing the complexity burden on individual servers while maintaining improved performance.
Solution Approach 2:
The shared data storage system acts as an intermediary between local servers, consolidating cache data information from multiple sources and distributing it back to local servers. This intermediary role simplifies the overall system architecture by centralizing the complex aggregation function rather than requiring direct peer-to-peer coordination.
3Stability of the object's composition
If cache updates are performed synchronously during critical data paths, then cache consistency is improved, but system throughput and productivity deteriorate due to blocking of application requests
Solution Approach 1:
The system performs cache updates in advance during non-critical periods by aggregating cache data information from local servers and distributing it before it is needed for active data paths. This preliminary action allows cache consistency to be maintained without blocking ongoing application requests, thereby preserving system throughput.
Solution Approach 2:
Instead of continuous synchronous updates, the system employs periodic aggregation and distribution of cache data information. Local servers report cache data at appropriate intervals, and the shared data storage system aggregates and distributes this information periodically, maintaining cache consistency while allowing application requests to proceed uninterrupted during critical periods.
Data Source
AI summary
A method for managing cache memories includes providing a computerized system including a shared data storage system (CS) configured to interact with several local servers that serve applications using respective cache memories, and access data stored in the shared data storage system; providing cache data information from each of the local servers to the shared data storage system, the cache data information comprising cache hit data representative of cache hits of each of the local servers, and cache miss data representative of cache misses of each of the local servers; aggregating, at the shared data storage system, at least part of the cache hit and miss data received and providing the aggregated cache data information to one or more of the local servers; and at the local servers, updating respective one or more cache memories used to serve respective one or more applications based on the aggregated cache data information.


