Early Read Return Virtualization for Cloud Storage Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based storage systems often experience high read latency due to the time required to retrieve data from distant locations or handle multiple read requests, which can reduce application and operating system performance.

Innovation Solution

Implementing an early read return virtualization technique that allows for partial data satisfaction of read requests, with unfilled pages unmapped, based on predefined policies such as data availability percentage, relative distribution of unavailable data, and estimated time duration, to reduce perceived latency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If data is retrieved from cloud storage, then data accessibility and replication are improved, but read latency increases due to large physical distances and multiple read requests

Engineering Contradiction:
Improvedata accessibilityVSAvoidread latency
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by issuing multiple read requests to different data blobs in advance, before the application actually needs the data. The scatter-gather array pre-configures the data retrieval paths, and the system returns partially satisfied read requests before all data is available, allowing applications to continue executing while remaining data is being retrieved.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The read request is segmented into multiple parallel operations using a scatter-gather array that distributes data retrieval across multiple data blobs. Instead of waiting for a single large read operation to complete, the system divides the data retrieval into smaller segments that can be fetched concurrently from different storage locations, reducing overall read latency.

Inventive Principle:
Principle #1Segmentation

2Reliability

If the system waits for complete data satisfaction before returning read requests, then data reliability is improved, but application performance deteriorates due to high read latency

Engineering Contradiction:
Improvedata completenessVSAvoidapplication performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system applies partial action by returning read requests to applications even when the data is not completely satisfied. The scatter-gather array tracks which portions of data have been retrieved and which are still pending, allowing the system to provide partial results to applications while continuing to fetch remaining data in the background, thus maintaining application productivity without completely sacrificing data reliability.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system implements feedback mechanisms to track the satisfaction status of read requests through the scatter-gather array. The array monitors which data portions have been retrieved and provides continuous feedback on data availability, allowing the system to dynamically manage partial returns and ensure that applications receive data as it becomes available while maintaining awareness of incomplete data states.

Inventive Principle:
Principle #23Feedback

3Productivity

If multiple read requests are issued to different data blobs, then data retrieval capability is improved, but system complexity increases due to managing scatter-gather arrays and partial data returns

Engineering Contradiction:
Improvedata retrieval capabilityVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scatter-gather array structure serves multiple functions simultaneously: it tracks data retrieval status, manages multiple parallel read requests, coordinates partial data returns, and monitors data satisfaction progress. This multi-functional approach consolidates what would otherwise require separate management systems, reducing overall system complexity while maintaining enhanced data retrieval capability.

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

Data Source

PatentUS9298375B2Method and apparatus for returning reads in the presence of partial data unavailability
Publication Date: 2016.03.29 VMWARE INC
  • US9298375B2 patent drawing
  • US9298375B2 patent drawing
  • US9298375B2 patent drawing

AI summary

Techniques are disclosed for reducing perceived read latency. Upon receiving a read request with a scatter-gather array from a guest operating system running on a virtual machine (VM), an early read return virtualization (ERRV) component of a virtual machine monitor fills the scatter-gather array with data from a cache and data retrieved via input-output requests (IOs) to media. The ERRV component is configured to return the read request before all IOs have completed based on a predefined policy. Prior to returning the read, the ERRV component may unmap unfilled pages of the scatter-gather array until data for the unmapped pages becomes available when IOs to the external media complete. Later accesses to unmapped pages will generate page faults, which are handled by stunning the VMs from which the access requests originated until, e.g., all elements of the SG array are filled and all pages of the SG array are mapped.