Multi-threaded Application Performance Prediction via Queuing Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improveperformance prediction accuracyVSAvoidmodel development time
Core Design Contradiction:
Measurement precisionVSLoss of time

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.

Inventive Principle:
Principle #27Cheap short-living objects (Disposable)

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.

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

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

Engineering Contradiction:
Improvemodeling complexityVSAvoidalgorithm convergence
Core Design Contradiction:
Device complexityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #1Segmentation

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

Engineering Contradiction:
Improvemodeling easeVSAvoidperformance prediction accuracy
Core Design Contradiction:
Ease of manufactureVSMeasurement precision

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

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.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentEP2879055B1System and method facilitating performance prediction of multi-threaded application in presence of resource bottlenecks
Publication Date: 2017.06.21 TATA CONSULTANCY SERVICES LTD
  • EP2879055B1 patent drawingFigure 1
  • EP2879055B1 patent drawingFigure 2
  • EP2879055B1 patent drawingFigure 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.