Dirty Page Control via Dynamic Sleep in Primary Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data storage systems face challenges in managing I/O pressure, particularly when the number of dirty pages exceeds thresholds, leading to performance fluctuations and high write latency, which is undesirable for response-time sensitive applications.

Innovation Solution

A method that determines the number of dirty pages capable of being generated per process on a backing device, comparing it to set points and hard limits, and dynamically adjusts the sleep time based on write back bandwidth and global ratios to maintain optimal dirty page levels, thereby controlling the generation of additional dirty pages.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the number of dirty pages is allowed to increase to maximize storage device usage, then storage utilization is improved, but write latency increases and I/O performance deteriorates

Engineering Contradiction:
Improvestorage device usageVSAvoidwrite latency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements a feedback mechanism that continuously monitors the number of dirty pages and dynamically adjusts the sleep time of processes generating dirty pages. When dirty page count exceeds a threshold, the system calculates a global ratio and adjusts individual process sleep times proportionally, creating a closed-loop control system that maintains dirty page levels within optimal ranges while maximizing storage utilization.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system dynamically adjusts the sleep time parameter based on real-time dirty page counts and write back bandwidth capabilities. Rather than using fixed thresholds, the patent employs dynamic threshold adjustment where the global ratio changes continuously based on system state, allowing the system to adapt to varying I/O pressure and maintain optimal performance under different workload conditions.

Inventive Principle:
Principle #15Dynamics

2Loss of time

If aggressive write back throttling is applied to reduce write latency, then response time is improved, but storage device usage and productivity decrease

Engineering Contradiction:
Improvewrite latencyVSAvoidstorage device usage
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

The patent applies partial throttling by adjusting sleep times proportionally rather than completely blocking dirty page generation. The global ratio determines the degree of throttling applied to each process, allowing the system to apply just enough pressure to maintain performance while avoiding excessive throttling that would unnecessarily reduce storage device utilization and productivity.

Inventive Principle:
Principle #16Partial or excessive action

3Device complexity

If fixed sleep time thresholds are used to control dirty page generation, then implementation simplicity is maintained, but I/O performance fluctuation increases

Engineering Contradiction:
Improvecontrol mechanism simplicityVSAvoidI/O performance stability
Core Design Contradiction:
Device complexityVSStability of the object's composition

Solution Approach 1:

The patent transitions from fixed sleep time thresholds to dynamic threshold adjustment based on the global ratio. The sleep time for each process is calculated as a function of the global ratio, which continuously adapts to system conditions. This dynamic approach smooths I/O performance by preventing the abrupt transitions characteristic of fixed threshold systems.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10795822B2System and method for negative feedback cache data flush in primary storage systems
Publication Date: 2020.10.06 EMC IP HLDG CO LLC
  • US10795822B2 patent drawing
  • US10795822B2 patent drawing
  • US10795822B2 patent drawing

AI summary

A method, computer program product, and computer system for determining, by a computing device, a number of dirty pages capable of being generated per process on a backing device. It may be determined whether the number of dirty pages capable of being generated per process on the backing device exceeds a threshold set point of actual dirty pages currently generated per process on the backing device. A variable amount of time to sleep may be determined. Sleep may be executed for the variable amount of time, wherein generation of additional dirty pages is paused.