Multi-threaded Application Performance Prediction via Queuing Networks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for predicting the performance of multi-threaded applications in the presence of resource bottlenecks, such as those described in prior art papers, fail to accurately determine performance when a large number of threads access critical sections, leading to inefficiencies and performance issues in multi-tier enterprise systems.
Innovation Solution
A system and method utilizing queuing networks to represent hardware and software resources, with an iterative technique to compute performance metrics like throughput and response time, by analyzing the concurrency level and service demand to identify resource bottlenecks and account for resource contention.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If discrete event simulation modeling is used to predict performance, then performance prediction capability is improved, but development time increases significantly
Solution Approach 1:
The patent uses simple analytical models with closed-form solutions that can be quickly developed and discarded, replacing complex discrete event simulation models that require extensive development time. The analytical models provide sufficient accuracy for performance prediction without the heavy overhead of simulation model creation.
Solution Approach 2:
The patent replaces the mechanical simulation approach (discrete event simulation requiring step-by-step execution) with an analytical mathematical approach (closed-form equations) that directly computes performance metrics, eliminating the need for time-consuming simulation runs.
2Device complexity
If SQN HQN two level iterative process is used for analytical modeling, then software contention delay estimation is simplified, but the algorithm enters infinite loop when large number of threads access multithreaded application
Solution Approach 1:
The patent performs preliminary analysis to identify and separate software resources from hardware resources before applying the iterative process. By pre-characterizing software contention separately and using it to adjust hardware resource service demands, the patent prevents the infinite loop problem that occurs when software and hardware resources are modeled together in the iterative process.
Solution Approach 2:
The patent segments the queuing network model into distinct software resource components and hardware resource components. Software resources are modeled separately with their own service demands, and hardware resources are modeled with adjusted service demands that account for software contention, preventing the algorithm from entering infinite loops.
3Ease of manufacture
If existing analytical modeling techniques are used, then performance estimation is simplified, but they fail to predict performance when large number of threads access critical section
Solution Approach 1:
The patent introduces software resources as intermediary elements between threads and hardware resources. These software resource queuing networks act as mediators that capture software contention effects, allowing the model to accurately predict performance under high thread contention while maintaining analytical simplicity.
Solution Approach 2:
The patent dynamically adjusts service demand parameters based on the number of threads accessing critical sections. By modifying service demand values to reflect software contention effects, the model maintains accuracy across different thread loads without requiring complex reconfiguration of the overall modeling approach.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
System(s), method(s) and computer program product to facilitate performance prediction of a multi-threaded application in presence of resource bottlenecks has been disclosed. One or more queuing networks are represented for resources employed to run the multi-threaded application. The resources comprise of software and hardware resources and the queuing network comprises of a hardware queuing network and the software queuing network. A performance metrics comprising one or more parameters is computed by using an iterative technique with a predetermined value of service demand. One or more parameters in form of a throughput value and response time are determined thereby determining the performance of the multi-threaded application.