Storage Coprocessor IO Queue Merging for Virtual Machine Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In cloud computing, the elasticity of virtual machine storage leads to inefficiencies in input/output (IO) operations due to the dynamic allocation of storage across multiple physical disks, resulting in increased latency and overhead, as VMs require flexible storage scaling while maintaining low-latency performance.

Innovation Solution

A storage coprocessor (SCP), such as a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC), is used to aggregate and manage IO operations from multiple virtual machines, creating read and write queues for each physical disk, merging sub-IOs into larger operations and optimizing queue sizes based on disk properties, thereby reducing latency and improving performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If storage is dynamically allocated across multiple physical disks to provide elasticity for virtual machines, then storage flexibility and scalability are improved, but input/output operation latency increases and performance deteriorates

Engineering Contradiction:
Improvestorage flexibilityVSAvoidIO latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments IO operations into two distinct queues: a first queue for parent IO operations from virtual machines and a second queue for sub-IO operations to physical disks. This segmentation allows the system to handle different types of IO operations separately, optimizing the path for each type and reducing overall latency while maintaining storage flexibility.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces an intermediary component (the IO operation manager or hypervisor) that sits between the virtual machines and the physical storage system. This intermediary merges sub-IO operations from multiple VMs into consolidated parent IO operations, reducing the total number of physical disk accesses and improving performance without sacrificing storage elasticity.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Measurement precision

If multiple small sub-IO operations are issued to physical disks for each virtual machine, then storage allocation precision is improved, but the number of IO operations increases and system overhead increases

Engineering Contradiction:
Improvestorage allocation precisionVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent merges multiple small sub-IO operations from different virtual machines into larger parent IO operations. The IO operation manager consolidates these fine-grained storage allocations into fewer, larger physical disk operations, reducing system overhead and improving efficiency while maintaining the precision of storage allocation for each VM.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system performs preliminary actions by pre-allocating storage space and creating parent IO operations before actual data transfer. The hypervisor or IO manager prepares consolidated IO commands in advance, which are then executed as single operations rather than multiple separate sub-IOs, reducing the computational overhead of handling numerous individual operations.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If a hypervisor manages IO operations for multiple virtual machines, then virtualization flexibility is improved, but the complexity of IO management increases and performance overhead increases

Engineering Contradiction:
Improvevirtualization flexibilityVSAvoidIO management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent segments the IO management function into distinct components: the hypervisor handles high-level virtual machine management and parent IO creation, while a dedicated IO operation manager handles sub-IO generation and physical disk communication. This segmentation reduces the complexity burden on the hypervisor and improves overall IO management efficiency.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts the complex task of sub-IO management from the hypervisor and places it in a dedicated IO operation manager or storage driver layer. This extraction allows the hypervisor to focus on virtualization flexibility while the specialized component handles the complexity of translating parent IOs into sub-IOs and managing physical disk operations.

Inventive Principle:
Principle #2Taking out (Extraction)

Data Source

PatentUS11327789B2Merged input/output operations from a plurality of virtual machines
Publication Date: 2022.05.10 INTEL CORP
  • US11327789B2 patent drawing
  • US11327789B2 patent drawing
  • US11327789B2 patent drawing

AI summary

In an example, there is disclosed a computing apparatus, having: a data interface to communicatively couple to a storage pool having a plurality of disks; a virtual machine manager including a processor; and a storage coprocessor (SCP) to: create a read queue and write queue for the disks in the storage pool; receive an input/output (IO) operation from a virtual machine, the IO operation directed to a storage address located on a disk in the storage pool; and add the IO operation to the queue for the disk.