Virtual Machine Intercepts System Calls for Application Performance Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Migrating distributed applications to new environments is challenging due to subtle interdependencies and complex configurations, making it difficult to accurately estimate performance without full re-installation, which is costly and labor-intensive, and existing approaches like micro-benchmarks and profiling introduce inaccuracies.

Innovation Solution

Replicate the original execution environment in the target environment by intercepting system library invocations, modifying input/output parameters, and using a virtual machine to launch the unmodified application binary, allowing accurate performance metric collection.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If the distributed application is completely re-installed and re-configured in the new environment, then the performance evaluation accuracy is improved, but the cost and labor intensity increase

Engineering Contradiction:
Improveperformance evaluation accuracyVSAvoidmigration cost and labor intensity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent creates a virtual copy of the original execution environment in the target environment by intercepting system library invocations and modifying their input/output parameters. This virtual copy replicates the original environment's behavior without requiring actual re-installation of the application, thus achieving accurate performance evaluation while reducing migration cost and labor intensity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent introduces a virtual machine as an intermediary between the application and the target environment. The virtual machine intercepts system library calls, modifies their parameters to match the original environment, and presents modified return values. This intermediary enables the application to execute as if in the original environment while running in the target environment, resolving the contradiction between evaluation accuracy and migration cost.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Ease of operation

If micro-benchmarks are run in both environments to build performance models, then the performance comparison is simplified, but the measurement precision deteriorates due to modeling inaccuracies

Engineering Contradiction:
Improveperformance comparison simplicityVSAvoidperformance model accuracy
Core Design Contradiction:
Ease of operationVSMeasurement precision

Solution Approach 1:

Instead of building performance models through micro-benchmarks, the patent directly copies the original execution environment's behavior in the target environment. By intercepting and modifying system library calls, the virtual machine replicates the exact resource consumption and execution behaviors of the original environment, eliminating the need for complex modeling and achieving both simplicity and precision.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent replaces the mechanical process of running micro-benchmarks and building models with a virtualization approach. The virtual machine substitutes the need for environmental re-installation and configuration by using intercepted and modified system calls, directly obtaining accurate performance metrics without the inaccuracies inherent in modeling techniques.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Quantity of substance

If the application is profiled in-depth to construct a straw man application, then the resource consumption can be estimated, but the execution behavior accuracy deteriorates

Engineering Contradiction:
Improveresource consumption estimationVSAvoidexecution behavior accuracy
Core Design Contradiction:
Quantity of substanceVSMeasurement precision

Solution Approach 1:

The patent copies the actual execution behavior of the application in the original environment by intercepting system library invocations. Rather than estimating resource consumption through profiling, the virtual machine captures real execution data and modifies it to match the original environment's characteristics, achieving both accurate resource estimation and precise execution behavior replication.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The virtual machine serves as an intermediary that captures actual execution behavior through intercepted system calls and modifies the input/output parameters to replicate the original environment. This approach obtains accurate execution behavior data without requiring the application to be re-installed or re-configured, resolving the contradiction between resource estimation and execution behavior accuracy.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10761873B2Evaluating distributed application performance in a new environment
Publication Date: 2020.09.01 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10761873B2 patent drawing
  • US10761873B2 patent drawing
  • US10761873B2 patent drawing

AI summary

Evaluating the performance of an application when migrated from a first environment in which the application is currently executing to a different second environment includes generating a configuration file using data obtained from the application executing in the first environment, installing the configuration file in a virtual machine residing in the second environment, launching the application in the virtual machine after the installing, and obtaining a metric indicative of the performance from the virtual machine.