Hierarchical IO Trace Analysis for Storage Latency

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional approaches to analyzing IO requests in storage systems fail to accurately determine latency and other performance metrics due to their inability to account for hierarchical execution flows and the interleaving of IO traces, making it difficult to analyze the execution cost of complex IO flows.

Innovation Solution

The method involves defining vertical and horizontal flows for IO traces, associating unique identifiers with parent and child requests, and generating a hierarchical representation of IO traces to accurately calculate execution latency, thereby reformulating the sequential execution representation into a hierarchical one.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If conventional sequential listing approaches are used to represent IO traces, then the representation is simple and easy to generate, but it becomes difficult to determine accurate latency and performance metrics for complex IO flows with hundreds of thousands of interleaved traces

Engineering Contradiction:
Improvelatency measurement accuracyVSAvoidrepresentation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments the flat sequential IO trace list into hierarchical groups using parent-child relationships. Each IO request is divided into parent requests and their corresponding child sub-requests, creating a structured representation that enables accurate latency measurement by associating timestamps with specific hierarchical levels rather than treating all traces as a flat sequence.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent adds a hierarchical dimension to the traditionally flat sequential representation of IO traces. By introducing parent-child relationships and grouping traces into hierarchical levels, the system transforms the one-dimensional sequential list into a multi-dimensional hierarchical structure, enabling accurate performance metric determination for complex nested IO flows.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of information

If all IO traces are captured and analyzed in detail, then complete performance visibility is achieved, but the analysis becomes computationally expensive and difficult to manage with hundreds of thousands of traces

Engineering Contradiction:
Improveperformance metric completenessVSAvoidanalysis complexity
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The patent segments the massive set of IO traces into manageable hierarchical groups using parent-child relationships. This segmentation allows the system to analyze performance metrics at different levels of the hierarchy, aggregating data from child traces to parent traces, thereby maintaining complete performance visibility while reducing the computational burden of analyzing hundreds of thousands of individual traces separately.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent merges individual child IO trace data into parent IO request groups, combining performance metrics from multiple child traces at the same hierarchical level. This merging process reduces the overall complexity by aggregating data, allowing comprehensive performance analysis without requiring separate processing of every individual trace.

Inventive Principle:
Principle #5Merging (Combining)

3Measurement precision

If hierarchical representation with parent-child relationships is implemented, then accurate latency determination is achieved, but additional processing overhead is introduced for associating unique identifiers and generating hierarchical structures

Engineering Contradiction:
Improveperformance metric accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent applies preliminary action by assigning unique parent and child identifiers to IO requests as they are generated, before the actual IO operations complete. This pre-establishment of hierarchical relationships and identifiers enables efficient subsequent processing and accurate latency determination without requiring complex post-processing, thereby reducing overall processing time while maintaining measurement precision.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11782604B2IO request flow performance analysis system and method
Publication Date: 2023.10.10 EMC IP HLDG CO LLC
  • US11782604B2 patent drawing
  • US11782604B2 patent drawing
  • US11782604B2 patent drawing

AI summary

A method, computer program product, and computing system for executing a plurality of IO traces on a storage system. At least one vertical flow and at least one horizontal flow associated with the at least one vertical flow may be defined for the plurality of IO traces. A hierarchical representation of the plurality of IO traces may be generated with the at least one vertical flow and the at least one horizontal flow associated with the at least one vertical flow defined for the plurality of IO traces.