Virtual Drive IOPS Throttling for Storage Resource Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing environments, inefficient functions can consume excessive resources, leading to resource starvation for other functions sharing the same virtual drives, resulting in suboptimal performance.

Innovation Solution

Customizing and throttling storage performance at the virtual drive level by assigning specific performance metrics to virtual drives, allowing each function to have a dedicated channel for input/output transactions, thereby ensuring adequate resource allocation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If storage resources are allocated to virtual drives without performance throttling, then overall storage capacity is maximized, but inefficient functions can consume excessive resources leading to resource starvation for other functions

Engineering Contradiction:
Improvestorage performanceVSAvoidresource starvation
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent changes the performance parameters of virtual drives by introducing IOPS (Input/Output Operations Per Second) throttling mechanisms. This allows administrators to set specific performance limits for each virtual drive, preventing any single function from consuming excessive storage resources while ensuring adequate performance for all functions. The parameter change transforms the storage allocation from an uncontrolled state to a regulated state with defined performance boundaries.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent applies different performance characteristics to different virtual drives individually. Each virtual drive can have its own IOPS threshold and performance metrics tailored to the specific needs of the function it serves. This local quality approach ensures that each function receives appropriate storage performance without being affected by the resource consumption patterns of other functions, thereby preventing resource starvation.

Inventive Principle:
Principle #3Local quality

2Quantity of substance

If multiple functions share the same virtual drives, then resource utilization is improved, but inefficient functions can starve other functions of resources

Engineering Contradiction:
Improveresource utilizationVSAvoidperformance guarantee
Core Design Contradiction:
Quantity of substanceVSReliability

Solution Approach 1:

The patent segments the shared storage resources into multiple virtual drives, each with independently controllable performance parameters. By dividing the storage system into separate virtual drive entities with individual IOPS thresholds, the system maintains high resource utilization through sharing while ensuring that each function has a guaranteed performance level. This segmentation prevents any single function from monopolizing resources and starving others.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent implements a feedback mechanism through IOPS monitoring and throttling. The system continuously monitors the actual IOPS consumption of each virtual drive and compares it against the configured thresholds. When a function approaches or exceeds its allocated IOPS limit, the system provides feedback by throttling further resource consumption, thereby maintaining both high utilization and reliable performance guarantees for all functions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10768827B2Performance throttling of virtual drives
Publication Date: 2020.09.08 MICROSOFT TECHNOLOGY LICENSING LLC
  • US10768827B2 patent drawing
  • US10768827B2 patent drawing
  • US10768827B2 patent drawing

AI summary

Methods, systems, apparatuses, and computer program products are provided that enable storage performance to be customized and throttled at the drive level. For example, performance metric(s) may be specified for virtual drive(s) assigned to a virtual machine. Physical storage disk(s), which are mapped to the drive(s), may be allocated based on the specified performance metric(s). By providing a means to customize and throttle on a per-drive basis, each function of the virtual machine can be provided a dedicated channel for input/output transactions, thereby ensuring that no function is starved of resources.