Performance Mimicking Benchmarks for Cross-Platform Service Demand Prediction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Predicting the performance of multi-tier enterprise applications on a target platform is challenging when the target platform is unavailable or limited, due to the complexity of modeling CPU service time, which is influenced by various factors such as workload characteristics, technology stack, and platform architecture.
Innovation Solution
The development of Performance Mimicking Benchmarks (PMBs) that mimic method calls and interactions across different tiers, allowing for cross-platform prediction of service demands without requiring actual deployment on the target platform, using a method that involves profiling, data flow analysis, and generating input files to estimate resource service demand.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If performance modeling is done using existing tools with known service demands, then throughput and server utilization can be predicted, but building a parameterized model of execution time based on workload characteristics, technology stack, and platform architecture is prohibitively complex
Solution Approach 1:
The patent creates a simplified copy of the application's execution behavior through performance mimicking benchmarks (PMBs). Instead of modeling the entire complex application, PMBs replicate only the critical method calls and interactions that consume CPU resources, capturing approximately 90% of CPU utilization with a much simpler benchmark model
Solution Approach 2:
The patent extracts only the essential components needed for performance prediction by identifying and isolating critical method calls across different technology stack layers. The PMB framework extracts and models only those method calls that significantly contribute to CPU service time, eliminating the need to model less critical application logic and interactions
2Ease of operation
If the application is deployed on a test platform different from the production platform, then performance testing can be conducted, but predicting application performance on the production platform becomes challenging due to platform architecture differences
Solution Approach 1:
The patent adjusts the PMB model to account for platform-specific parameters by collecting platform architecture characteristics and modifying the benchmark execution to reflect target platform behavior. This allows accurate cross-platform performance prediction while maintaining deployment flexibility on test platforms
3Measurement precision
If all factors affecting CPU service time are modeled in detail, then accurate service demand estimation can be achieved, but the parameterized model becomes prohibitively complex
Solution Approach 1:
The patent applies local quality by treating different technology stack layers differently based on their contribution to CPU utilization. Critical layers such as database interactions, application server processing, and web container operations are modeled in detail, while less critical areas are simplified or aggregated, achieving accurate service demand estimation without exhaustive modeling of all application aspects
Data Source
AI summary
Systems and methods for benchmark based cross platform service demand prediction includes generation of performance mimicking benchmarks that require only application level profiling and provide a representative value of service demand of an application under consideration on a production platform, thereby eliminating need for actually deploying the application under consideration on a production platform. The PMBs require only a representative estimate of service demand of the application under test and can be reused to represent multiple applications. The PMBs are generated based on a skeletal benchmark corresponding to the technology stack used by the application under test and an input file generated based on application profiling that provides pre-defined lower level method calls, data flow sequences between multi-tiers of the application under test and send and receive network calls made by the application under consideration.


