Virtual Machine Intercepts System Calls for Application Performance Evaluation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


