Virtual Machine-Aware Storage System for Per-VM QoS

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional storage systems lack native awareness of virtual machines (VMs), making it difficult to provide performance isolation and protection, leading to imbalances in resource allocation and potential starvation among VMs, as they are unaware of which I/O requests belong to which VMs, and rely on inadequate performance metrics like IOPS that do not account for varying request sizes.

Innovation Solution

A virtual machine-aware storage system that maintains separate queues for read and write requests from hypervisors, maps requests to VM-specific queues based on QoS parameters, and uses a scheduler to admit requests to a pipeline according to these parameters, integrating with hypervisor environments to track file associations with VMs and model storage performance across different request sizes to provide per-VM Quality of Service (QoS).

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Device complexity

If traditional storage systems process file system requests without VM awareness, then system simplicity is maintained, but performance isolation and per-VM QoS cannot be provided

Engineering Contradiction:
Improvestorage system structureVSAvoidperformance isolation
Core Design Contradiction:
Device complexityVSReliability

Solution Approach 1:

The patent introduces a VM identification module as an intermediary component that bridges the gap between traditional file system requests and VM-specific QoS requirements. This module extracts VM identifiers from requests without fundamentally redesigning the storage system architecture, enabling performance isolation while maintaining relative system simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The storage system is segmented into distinct functional modules: a VM identification module that extracts VM information from requests, a QoS parameter determination module that selects appropriate metrics, and a performance monitoring module that enforces QoS policies. This segmentation allows per-VM QoS to be implemented without requiring complete system redesign.

Inventive Principle:
Principle #1Segmentation

2Ease of operation

If IOPS is used as the performance metric for QoS, then user familiarity is maintained, but accurate performance measurement is compromised due to varying request sizes

Engineering Contradiction:
Improveuser familiarity with metricVSAvoidperformance measurement accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent implements dynamic metric selection that adapts to different VM workloads and request characteristics. The system can switch between IOPS and throughput metrics based on the specific QoS requirements and workload patterns, providing both user familiarity and measurement accuracy as needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the performance measurement parameter based on the specific QoS scenario. For throughput-sensitive applications, it uses throughput (bytes/sec) as the metric, while for latency-sensitive applications, it uses IOPS. This parameter flexibility ensures accurate performance measurement while maintaining user understanding.

Inventive Principle:
Principle #35Parameter changes

3Device complexity

If storage systems do not track per-VM I/O requests, then implementation complexity is reduced, but resource allocation imbalance and starvation occur

Engineering Contradiction:
Improverequest tracking mechanismVSAvoidresource allocation fairness
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

The VM identification module performs preliminary extraction of VM identifiers from incoming file system requests before the requests are processed by the storage system. This early identification enables subsequent per-VM QoS enforcement without requiring complex tracking mechanisms throughout the entire request processing chain.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent implements a universal QoS framework that can handle multiple VMs with different performance requirements using a common infrastructure. The same storage system can simultaneously provide performance isolation for multiple VMs, prevent resource monopolization, and ensure fair allocation without requiring separate tracking systems for each VM.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Data Source

PatentUS10949103B2Native storage quality of service for virtual machines
Publication Date: 2021.03.16 TINTRI INC
  • US10949103B2 patent drawing
  • US10949103B2 patent drawing
  • US10949103B2 patent drawing

AI summary

Techniques to satisfy quality of service (QoS) requirements on a per virtual machine basis natively in a storage system are disclosed. In various embodiments, for each of a plurality of virtual machines a corresponding input/output (I/O) request queue is stored on the storage system. Requests are scheduled to be pulled from the respective request queues and added to a corresponding storage operation pipeline at the storage system in an order determined based at least in part on a per virtual machine quality of service parameter.