Throttling Test I/O Requests in Data Storage Systems
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Test versions in data storage systems, such as thin clones, can interfere with production objects by consuming significant CPU resources and memory, impairing the ability of the data storage system to meet service level requirements.
Innovation Solution
A method that identifies I/O requests directed to test versions and selectively throttles their throughput relative to the corresponding production object by enforcing a minimum delay in the I/O stack, varying the delay based on system activity levels, to reduce resource consumption and ensure production object performance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If test versions (thin clones) are allowed to access and process data freely, then testing and debugging capabilities are improved, but system resource consumption increases and production object performance deteriorates
Solution Approach 1:
The patent segments I/O requests into two distinct categories: production I/O requests and test I/O requests. By identifying and separately managing these request types through different processing paths, the system allows test versions to access data for debugging while preventing test operations from consuming resources needed by production objects, thus resolving the contradiction between testing capability and production performance
Solution Approach 2:
The patent applies different quality characteristics to different I/O requests based on their origin. Production I/O requests receive high-priority processing with guaranteed performance, while test I/O requests are subjected to throttling and rate-limiting. This local differentiation of service quality ensures that testing activities do not degrade production performance while still providing adequate testing functionality
2Quantity of substance
If test versions share system resources with production objects, then resource utilization efficiency is improved, but service level requirements for production objects cannot be met
Solution Approach 1:
The patent introduces an intermediary component (I/O request identification and management module) that sits between the test versions and the shared system resources. This intermediary monitors and controls resource access patterns, allowing test versions to utilize available resources while preventing resource contention that would violate production service level requirements, thus maintaining both resource utilization and reliability
3Speed
If throughput of I/O requests to test versions is not limited, then testing speed is improved, but CPU and memory resources are depleted
Solution Approach 1:
The patent implements periodic rate-limiting and throttling mechanisms for test I/O requests. By controlling the frequency and rate of test operations rather than allowing continuous unrestricted access, the system maintains adequate testing speed while preventing excessive CPU and memory resource consumption that would occur with unlimited throughput
Data Source
AI summary
A technique for managing I/O (input/output) requests in a data storage system includes receiving a set of I/O requests directed to (i) a production data object stored in the data storage system and (ii) a set of test versions of the production data object, each of the set of test versions stored in the data storage system. The technique further includes identifying, from among the set of received I/O requests, I/O requests directed to the set of test versions of the production data object and selectively throttling a throughput of the identified I/O requests directed to the test versions relative to a throughput of I/O requests directed to the production data object.


