Throttling Test I/O Requests in Data Storage Systems

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

VSEngineering 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

Engineering Contradiction:
Improvetesting capabilityVSAvoidproduction object performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #3Local quality

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

Engineering Contradiction:
Improveresource utilizationVSAvoidservice level requirement compliance
Core Design Contradiction:
Quantity of substanceVSReliability

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

Inventive Principle:
Principle #24Intermediary (Mediator)

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

Engineering Contradiction:
Improvetesting speedVSAvoidCPU and memory resource consumption
Core Design Contradiction:
SpeedVSUse of energy by moving object

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

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10372347B2Selectively limiting throughput of test objects that share system resources with production objects
Publication Date: 2019.08.06 EMC IP HLDG CO LLC
  • US10372347B2 patent drawing
  • US10372347B2 patent drawing
  • US10372347B2 patent drawing

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.