Dirty Page Control via Dynamic Sleep in Primary Storage
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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
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.
Data Source
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.


