Workload Description Language for Application I/O Emulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional methods for benchmarking application input/output performance are inflexible and inaccurate when applied to different computing environments or operating conditions, failing to capture I/O dependencies between threads or processes, and often require substantial expertise and time for setup and reconfiguration.

Innovation Solution

A system and method using a workload description language to create a flexible model of an application's I/O operations, allowing for accurate emulation and performance measurement across varying system configurations and parameters, with the ability to reflect inter-thread dependencies and generate actual I/O operations rather than simulations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If traditional tracing methods are used to characterize application I/O performance, then accurate benchmarking can be achieved with the specific system configuration, but the results become inaccurate when applied to different configurations or operating conditions

Engineering Contradiction:
Improvebenchmarking accuracyVSAvoidenvironment flexibility
Core Design Contradiction:
Measurement precisionVSAdaptability or versatility

Solution Approach 1:

The patent creates an application model that copies the essential I/O behavior patterns of the original application without replicating the entire application. This model can be executed in different environments to generate benchmark data that maintains accuracy across configurations while being adaptable to various system setups.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent uses parameterized models where I/O operation characteristics (such as read/write ratios, operation sizes, access patterns) are defined as adjustable parameters. This allows the same model to accurately represent application behavior across different system configurations by modifying parameters rather than requiring complete re-tracing.

Inventive Principle:
Principle #35Parameter changes

2Adaptability or versatility

If model-based methods are used to simulate application performance, then the application can be tested in different environments, but the resource consumption and latency can only be estimated rather than measured

Engineering Contradiction:
Improveenvironment flexibilityVSAvoidperformance measurement accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The patent introduces an intermediary model layer that sits between the application and the testing environment. This model generates actual I/O operations that can be measured in real environments, providing both the flexibility to test in different configurations and the accuracy of actual measurements rather than estimates.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent separates the application's I/O behavior into distinct operational patterns and characteristics that can be independently modeled and measured. This segmentation allows the model to capture essential performance characteristics while enabling flexible testing across different environments with accurate measurement capabilities.

Inventive Principle:
Principle #1Segmentation

3Loss of information

If detailed tracing is performed to capture application I/O activity, then comprehensive system characteristics can be learned, but the trace data becomes tied to the specific system configuration and cannot capture I/O dependencies between threads

Engineering Contradiction:
Improvesystem characteristics coverageVSAvoidconfiguration independence
Core Design Contradiction:
Loss of informationVSAdaptability or versatility

Solution Approach 1:

The patent extracts only the essential I/O behavior patterns and dependencies from the application trace, separating them from configuration-specific details. This extraction creates a portable model that captures comprehensive system characteristics while being independent of the original configuration and capable of representing inter-thread dependencies.

Inventive Principle:
Principle #2Taking out (Extraction)

4Productivity

If traditional benchmarking methods are used to test application performance, then performance data can be collected, but substantial expertise and setup time are required, and reconfiguration for different environments is time-consuming

Engineering Contradiction:
Improveperformance measurement efficiencyVSAvoidsetup complexity
Core Design Contradiction:
ProductivityVSEase of operation

Solution Approach 1:

The patent enables the system to automatically generate and execute benchmark tests using the application model without requiring expert intervention. The model-driven approach allows non-experts to configure and run performance tests by simply specifying the desired environment parameters, automatically handling the complexity of test generation and execution.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS7945657B1System and method for emulating input/output performance of an application
Publication Date: 2011.05.17 ORACLE AMERICAN INC
  • US7945657B1 patent drawing
  • US7945657B1 patent drawing
  • US7945657B1 patent drawing

AI summary

A system and method for emulating the input/output performance of an application. A workload description language is used to produce a small but accurate model of the application, which is flexible enough to emulate the application's performance with varying underlying system configurations or operating parameters. The model describes I/O operations performed by the application, and reflects any dependencies that exist between different application threads or processes. The model is then executed or interpreted with a particular system configuration, and various parameters of the I/O operations may be set at the model's run-time. During execution, the input/output operations described in the model are generated according to the specified parameters, and are performed. The system configuration and/or I/O operation parameters may be altered and the model may be re-run.