Rate Proportional Cache Write-Back for Storage Servers

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveimplementation simplicityVSAvoidsynchronous read-write response time
Core Design Contradiction:
Ease of manufactureVSProductivity

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvecache space utilizationVSAvoidapplication I/O performance
Core Design Contradiction:
Quantity of substanceVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #23Feedback

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

Engineering Contradiction:
Improvedirty page accumulationVSAvoidapplication I/O performance
Core Design Contradiction:
Quantity of substanceVSProductivity

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.

Inventive Principle:
Principle #15Dynamics

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.

Inventive Principle:
Principle #35Parameter changes

4Productivity

If flush rate is decreased to reduce interference with application I/O, then dirty pages accumulate in cache, but cache space exhaustion occurs

Engineering Contradiction:
Improveapplication I/O performanceVSAvoiddirty page accumulation
Core Design Contradiction:
ProductivityVSQuantity of substance

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.

Inventive Principle:
Principle #23Feedback

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.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8402226B1Rate proportional cache write-back in a storage server
Publication Date: 2013.03.19 EMC IP HLDG CO LLC
  • US8402226B1 patent drawing
  • US8402226B1 patent drawing
  • US8402226B1 patent drawing

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.