Systems and methods for performance evaluation of input/output (I/O) intensive enterprise applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Evaluating the performance of I/O intensive enterprise applications across different storage systems with varying core counts is time-consuming and challenging due to software overhead from trace collection tools, which provide incorrect performance estimation at large workloads and are unsuitable for high concurrency scenarios.

Innovation Solution

A processor-implemented method that captures I/O trace files at base concurrencies, extracts temporal and spatial features, and generates representative workloads using a synthetic benchmark to predict performance across platforms, allowing for extrapolation to higher concurrency levels without actual trace generation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If trace collection tools are used to reproduce application characteristics on target systems, then performance evaluation without deploying the application is enabled, but software overhead significantly slows down the application at large workloads resulting in incorrect performance estimation

Engineering Contradiction:
Improveperformance evaluation capabilityVSAvoidperformance estimation accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

The patent creates synthetic I/O traces that copy the essential characteristics of actual application I/O patterns without using trace collection tools during workload execution. By analyzing actual I/O patterns offline and generating synthetic traces that replicate these patterns, the system avoids the software overhead of real-time trace collection while maintaining accurate performance evaluation capability

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs I/O pattern analysis and synthetic trace generation in advance, before the actual performance evaluation workload. By pre-processing actual I/O traces to extract patterns and generating synthetic traces beforehand, the system eliminates the need for trace collection tools during workload execution, thus avoiding software overhead and time dilation effects

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If trace collection is performed at large workloads to capture application behavior, then comprehensive I/O patterns are obtained, but time dilation occurs resulting in incorrect performance estimation

Engineering Contradiction:
ImproveI/O pattern completenessVSAvoidtime dilation
Core Design Contradiction:
Loss of informationVSLoss of time

Solution Approach 1:

The patent collects and analyzes actual I/O traces during low-workload conditions or offline, extracting comprehensive I/O patterns before generating synthetic traces. This preliminary analysis captures complete I/O behavior without the time dilation problems of collecting traces during high-workload execution

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates synthetic I/O traces that copy the extracted I/O patterns from actual application behavior. These synthetic traces replicate the temporal and spatial characteristics of real I/O operations without requiring actual trace collection during workload execution, thus avoiding time dilation

Inventive Principle:
Principle #26Copying

3Measurement precision

If conventional trace replay methods are used for performance evaluation across multiple storage systems, then system-specific performance data is obtained, but the process is time consuming and requires deploying the application to each target system

Engineering Contradiction:
Improvesystem-specific performance accuracyVSAvoidevaluation time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The patent uses synthetic I/O traces that copy application I/O patterns to replay on target storage systems without deploying the actual application. This approach maintains system-specific performance measurement accuracy while eliminating the time-consuming application deployment and data migration required by conventional methods

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent creates a universal synthetic trace format that can be replayed on multiple different storage systems and configurations. The same synthetic trace file can evaluate performance across various storage systems, core counts, and configurations without requiring separate trace collections or application deployments for each target system

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

4Loss of information

If trace collection tools are deployed to capture I/O patterns, then application characteristics are reproduced, but the tools are unable to extrapolate traces for larger concurrencies

Engineering Contradiction:
Improveapplication characteristic fidelityVSAvoidconcurrency extrapolation capability
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent extracts temporal and spatial parameters from actual I/O traces and uses these parameters to generate synthetic traces at different concurrency levels. By changing the concurrency parameter in synthetic trace generation while maintaining the extracted I/O patterns, the system can extrapolate application behavior at larger concurrencies without being limited by the original trace collection concurrency

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11151013B2Systems and methods for performance evaluation of input/output (I/O) intensive enterprise applications
Publication Date: 2021.10.19 TATA CONSULTANCY SERVICES LTD
  • US11151013B2 patent drawing
  • US11151013B2 patent drawing
  • US11151013B2 patent drawing

AI summary

The present disclosure provides systems and methods for performance evaluation of Input/Output (I/O) intensive enterprise applications. Representative workloads may be generated for enterprise applications using synthetic benchmarks that can be used across multiple platforms with different storage systems. I/O traces are captured for an application of interest at low concurrencies and features that affect performance significantly are extracted, fed to a synthetic benchmark and replayed on a target system thereby accurately creating the same behavior of the application. Statistical methods are used to extrapolate the extract features to predict performance at higher concurrency level without generating traces at those concurrency levels. The method does not require deploying the application or database on the target system since performance of system is dependent on access patterns instead of actual data. Identical access patterns are re-created using only replica of database files of the same size as in the real database.