Rate Proportional Cache Write-Back for Storage Servers
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current cache write-back policies in storage systems, such as periodic update and watermark-based methods, are inadequate in managing the increasing speeds of application incoming writes, leading to performance penalties and interference with file system and user application performance, especially with larger caches and higher workloads.
Innovation Solution
Implementing a cache write-back method that adjusts the flushing rate of dirty pages from the cache memory to the storage array based on the rate of change in the number of dirty pages, using feedback control principles to match the flushing rate with the generation rate of dirty pages from incoming I/O requests, thereby minimizing interference with application I/O operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of manufacture
If periodic update policy is used to flush dirty pages, then implementation is simple, but synchronous read-write response times degrade at periodic intervals
Solution Approach 1:
The patent implements a feedback mechanism where the cache manager continuously monitors the number of dirty pages and adjusts the flush rate dynamically. The flush operation responds to the current state of dirty pages rather than following a fixed periodic schedule, allowing the system to maintain simple implementation while avoiding performance degradation during synchronous operations.
2Quantity of substance
If watermark based policy is used to flush dirty pages, then cache space management is improved, but application I/O performance is interfered with during flush operations
Solution Approach 1:
The patent transitions from static watermark thresholds to a dynamic flush rate mechanism. The system continuously adapts the flush rate based on real-time monitoring of dirty page generation rates and current cache state, allowing flexible adjustment that prevents performance interference while maintaining effective cache space management.
Solution Approach 2:
The cache manager uses feedback from dirty page count and generation rate to dynamically adjust flush operations. This feedback-driven approach replaces fixed watermark thresholds with adaptive control that responds to actual system conditions, preventing performance degradation during synchronous I/O operations.
3Quantity of substance
If flush rate is increased to keep up with incoming writes, then cache occupancy is reduced, but interference with application I/O increases
Solution Approach 1:
The patent implements a dynamic flush rate that adapts to incoming write rates and cache conditions. Rather than using a fixed high flush rate that would interfere with application I/O, the system continuously adjusts the flush rate to match the dirty page generation rate, maintaining optimal cache occupancy without performance interference.
Solution Approach 2:
The system changes the flush rate parameter dynamically based on monitored system conditions. The flush rate is adjusted as a variable parameter rather than a fixed value, allowing the system to optimize between cache occupancy and application I/O performance by responding to changing workload conditions.
4Productivity
If flush rate is decreased to reduce interference with application I/O, then dirty pages accumulate in cache, but cache space exhaustion occurs
Solution Approach 1:
The patent uses feedback control where the cache manager monitors both the flush rate and dirty page count continuously. When dirty pages approach levels that would cause cache space exhaustion, the feedback mechanism increases the flush rate appropriately. This ensures application I/O performance is maintained while preventing cache space exhaustion through adaptive response.
Solution Approach 2:
The cache management system serves itself by automatically adjusting the flush rate based on its own state monitoring. The system self-regulates to maintain optimal balance between cache occupancy and application performance without external intervention, using its own performance metrics to control the flush operations.
Data Source
AI summary
Based on a count of the number of dirty pages in a cache memory, the dirty pages are written from the cache memory to a storage array at a rate having a component proportional to the rate of change in the number of dirty pages in the cache memory. For example, a desired flush rate is computed by adding a first term to a second term. The first term is proportional to the rate of change in the number of dirty pages in the cache memory, and the second term is proportional to the number of dirty pages in the cache memory. The rate component has a smoothing effect on incoming I/O bursts and permits cache flushing to occur at a higher rate closer to the maximum storage array throughput without a significant detrimental impact on client application performance.


