Download presentation
Presentation is loading. Please wait.
Published byEmma Hubbard Modified over 6 years ago
1
Solving Explicit Dependencies for Architectural Performance Models
Simon Eismann Chair of Software Engineering University of Würzburg Supervisor: Jürgen Walter Master Presentation Würzburg, 28/6/2017
2
Motivation 7 150 Parametric Dependencies
Aufpasssen: Nicht RD und Resp Time mischen Parametric Dependencies
3
? Motivation Solution Model Performance Metrics Lösungsrepresentation
Callpath Variable Distribution A>C>G LoopCount 3 A>D>G 5 A>E>G 150 B>C>G ResourceDemand N(4,1) B>D>G Exp(6) B>E>G N(17,3) ? Performance Metrics Solution Model Lösungsrepresentation Logische präsentation Zum lösen ungeignet Ergebnis == Aufrufpfad basierte Beschreibung .. (nicht Tabelle) Tabelle gute Visualisierung??
4
PIBA Problem Idea Benefits Actions
Solving of advanced parametric dependency modeling concepts not supported by solving formalisms Problem Callpath dependent description for stochastic and simulation-based solvers Idea Models using parametric dependencies solvable Improved prediction accuracy Benefits Resolve parametric dependencies Integrate in existing DML toolchain Actions Anfangsbuchstaben farbig Solving of advanced parametric dependency modeling concepts not supported by solving formalisms
5
Descartes Modeling Language
6
Dependency Modeling ROBOCOP Input Parameters
Dependencies Output Parameters Cross-Component Dependency One Variable/Many Dependencies Unknown Parameters Non chronological Dependency Referenzen im Anhang vorbereiten PCM DML
7
Transformation to Stackframe
Current DML solution process: Transformation to Stackframe Model Tansformation to Queuening Petri Nets (QPN) Simulation using SimQPN Stackframe model Intermediate Model Flat representation of the model Reusable by other solvers Multiple solvers due to prediction time limits
8
Approach Resolve parametric dependencies before transformation to QPN
Replace transformation to Stackframe model Stackframe model is solved using existing QPN transformation Wartbarkeit etc. Callpath Model Relationship Graph Resolved Relationship Graph Stackframe Model 1. Flooding Algorithm 2. Dependency Calculation 1. Flooding Algorithm 2. Dependency Computation
9
Callpath Model Graph captures paths a request can take through the system Single node uniquely identifies a path through the system Points represent a behavior description Dashed lines represent dependencies between behaviors
10
Relationship Graph Wartbarkeit etc. Callpath Model Relationship Graph
Resolved Relationship Graph Stackframe Model 1. Flooding Algorithm 2. Dependency Calculation 1. Flooding Algorithm 2. Dependency Computation Wartbarkeit etc.
11
Relationship Graph Directed Graph contaning information about variables and dependencies in a solvable format
12
Relationship Graph Transformation
Transformation from Callpath Model to Relationship Graph using depth-first search Needs animations For every CallpathPoint: Create Nodes Create Implicit Edges Create Explicit Edges
13
Relationship Graph Example
Problem: Unknow variables Relationship Known Variable + Callpath Unknown Variable + Callpath
14
Flooding Algorithm Wartbarkeit etc. Callpath Model Relationship Graph
Resolved Relationship Graph Stackframe Model 1. Flooding Algorithm 2. Dependency Computation Wartbarkeit etc.
15
Flooding Algorithm Relationship Known Variable + Callpath
Same resource demand can appear multiple times due to different call paths Relationship Known Variable + Callpath Unknown Variable + Callpath
16
Parametric Dependency Computation
Callpath Model Relationship Graph Resolved Relationship Graph Stackframe Model 1. Flooding Algorithm 2. Dependency Computation Wartbarkeit etc.
17
Parametric Dependency Computation
? Datatypes: Boolean Int/Double Replay Continous Distribution Discrete Distribution Normal/Exponential Distribution Operations: Addition/Subtraction Multiplication/Division Modulo Power Comparison Equal X Challenge: Cross product of operations and datatypes Computation of operations on datatypes
18
Computation Example I ? ? ? ? ?
19
Computation Example II
𝑓 1 𝑥 = 𝑝 1 0 𝑓𝑜𝑟 𝑙 1 <𝑥 ≤ 𝑢 1 𝑓 2 𝑥 = 𝑝 2 0 𝑓𝑜𝑟 𝑙 2 <𝑥 ≤ 𝑢 2 𝑒𝑙𝑠𝑒 𝑒𝑙𝑠𝑒 Convolution Formula Limits f1 Limits f2 Integrate Verteilungsdichtefunktion Verteilungsfunktion
20
Transformation to Stackframe model
Callpath Model Relationship Graph Resolved Relationship Graph Stackframe Model 1. Flooding Algorithm 2. Dependency Computation Wartbarkeit etc.
21
Evaluation Dependency Computation Evaluation of model transformations
Callpath Model Relationship Graph Resolved Relationship Graph Stackframe Model 1. Flooding Algorithm 2. Dependency Calculation Dependency Computation Evaluation of model transformations End-To-End State-of-the-art DML specific concepts
22
Merging Distributions
23
Merging Distributions
>250 Unit Tests
24
Evaluation Dependency Computation Evaluation of model transformations
Callpath Model Relationship Graph Resolved Relationship Graph Stackframe Model 1. Flooding Algorithm 2. Dependency Calculation Dependency Computation Evaluation of model transformations End-To-End State-of-the-art DML specific concepts
25
Evaluation Methodology
Manual creation of reference models Manual creation expected intermediate models Callpath model Relationship graph Solved relationship graph Stackframe model Comparison of transformation output models and expected models Anhand welcher Kriterien verglichen?
26
Evaluation Transformation Models
ExternalCallParameter ExternalCallReturnParameter ExteralCallMixedParameter ExteralCallMixedParameter2 DependencyPropagationRelationship DependencyPropagationRelationship2 40 Unit Tests TwoInstances TwoCalls
27
Evaluation Dependency Computation Evaluation of model transformations
Callpath Model Relationship Graph Resolved Relationship Graph Stackframe Model 1. Flooding Algorithm 2. Dependency Calculation Dependency Computation Evaluation of model transformations End-To-End State-of-the-art DML specific concepts
28
Evaluation State-of-the-Art
Baseline: PCM Mediastore Identical DML model Predictions using new DML solver
29
Evaluation Dependency Computation Evaluation of model transformations
Callpath Model Relationship Graph Resolved Relationship Graph Stackframe Model 1. Flooding Algorithm 2. Dependency Calculation Dependency Computation Evaluation of model transformations End-To-End State-of-the-art DML specific concepts
30
DML specific MediaStore
PCM DML specific concepts Parameter: 14 5 Dependencies : 10 4
31
Summary & Benefits Summary: Benefits:
Solution models do not support parametric dependencies Callpath dependent description of variables Resolution approach utilizing a directed graph Implementation and evaluation using DML Benefits: Resolution of parametric dependencies Cross-Component Dependencies One Variable/Many Dependencies Unknown Parameters Non chronological Dependencies Solving of parametric dependencies for DML Computation of arithmetic operations on BoxedPDFs Transferability of the approach
32
Thank You! eismannsimon@googlemail.com
33
Evaluation MediaStore
34
Evaluation End to End Evaluation of our resolution approach to predict systems performance using the existing DML toolchain Problem: Impossible to tell if deviations due to unmodeled aspects or systematic error during dependency resolution Solution: Use existing performance model as baseline Methodology: Create equivalent DML model Model same reality using DML specific concepts
35
Future Work Characterization of variables from modeling data
Automatisches extrahieren von Parametrischen Dependencies Automated selection of appropriate resolution alternatives Überarbeiten
36
Merging Distributions
How to evaluate a mathematical formula? Methodology: Generate empirical samples Generate samples from each distribution Execute operation on each pair of samples Compare resulting empirical distribution to calculation result Sample1 Sample2 Result 0.9 0.89 1.79 0.31 0.01 0.32 0.12 0.23 0.35 … Sample1 + Sample2 = ?
37
Merging Distributions
How to evaluate a mathematical formula? Methodology: Generate empirical samples Generate samples from each distribution Execute operation on each pair of samples Compare resulting empirical distribution to calculation result V1 V2 V1+V2 Merged(V1+V2) 0.9 0.89 1.79 0.31 0.01 0.32 0.12 0.23 0.35 … Sample1 + Sample2 = ?
38
RelationshipGraph - Solving
Flooding algorithm For every Edge
39
DML Model Prof. Dr. Max Mustermann | Name of Faculty
40
Related Work "Performance engineering of component-based distributed software systems" Gomaa and Menasce "The uml-marte standardized profile" Gerard and Selic "Modelling of inputparameter dependency for performance predictions of component-based embedded systems" Bondarev et al. "Parameter dependencies for reusable performance specifications of software components“ Koziolek No parametric Dependencies Only input parameter Worin unterscheiden sich die bestehenden Arbeiten zu deiner? (gesammelt oder einzeln) Modeling of Parametric Dependencies Input & output parameter Mergen, Nur RoboCop Bondarev200X, PCM 2008, …
41
DML Solving Stackframe Model QPN simQPN Stackframe Model
Prof. Dr. Max Mustermann | Name of Faculty
42
MediaStore Example MediaStore AudioDB Watermark Component Call
Filesize ID Request Download Watermark Watermark Difference to PCM, we allow „long relationships“ Component Call ResourceDemand Parameter Prof. Dr. Max Mustermann | Name of Faculty
43
PIBA Problem Idea Benefits Actions
DML supports advanced modeling of parametric dependencies, but solver does not support it Idea Resolve parametric dependencies before transformation to solver Benefits Advanced DML models solvable Actions Determine resolution order Calculate the dependencies
44
Challenges Dependency resolution order Dependency Calculation
Chained dependencies Different call paths Dependency Calculation Operations Datatypes Animation 1. dick
45
Challenges Dependency resolution order Dependency Calculation
Chained dependencies Different call paths Dependency Calculation Operations Datatypes Animation 1. dick
46
DML Solving Stackframe Model QPN simQPN Stackframe Model
Resolution order Stackframe Model QPN simQPN Stackframe Model Prof. Dr. Max Mustermann | Name of Faculty
47
Refactoring I Current DML Transformation to Stackframe Problem:
Resolution order Current DML Transformation to Stackframe Assembly resolution Extraction of Callpaths Problem: Dependency resolution needs assembly information + callpaths Dependency resolution needed to create Stackframe model
48
Refactoring II Refactoring: How to include dependency resolution? ???
Resolution order Refactoring: How to include dependency resolution? ??? Callpath model Stackframe Model
49
Dependency Resolution
Resolution order Relationship Graph: Platform to solve parametric dependencies Characterization of empiric variables Extensionpoint for anything with parameters/relationships Callpath model Stackframe Model Relationship Graph
50
Relationship graph Relationship Known Variable + Callpath
Resolution order Same resource demand can appear multiple times due to different call paths Relationship Known Variable + Callpath Unknown Variable + Callpath
51
Relationship graph Relationship Known Variable + Callpath
Resolution order Same resource demand can appear multiple times due to different call paths Relationship Known Variable + Callpath Unknown Variable + Callpath
52
Relationship graph Relationship Known Variable + Callpath
Resolution order Same resource demand can appear multiple times due to different call paths Relationship Known Variable + Callpath Unknown Variable + Callpath
53
Relationship graph Relationship Known Variable + Callpath
Resolution order Same resource demand can appear multiple times due to different call paths Relationship Known Variable + Callpath Unknown Variable + Callpath
54
Relationship graph Relationship Known Variable + Callpath
Resolution order Same resource demand can appear multiple times due to different call paths Relationship Known Variable + Callpath Unknown Variable + Callpath
55
Relationship graph Relationship Known Variable + Callpath
Resolution order Same resource demand can appear multiple times due to different call paths Relationship Known Variable + Callpath Unknown Variable + Callpath
56
Challenges Dependency resolution order Dependency Calculation
Chained dependencies Different call paths Dependency Calculation Operations Datatypes Animation 1. dick
57
Dependency Calculation
Challenges Dependency resolution order Chained dependencies Different call paths Dependency Calculation Operations Datatypes Animation 1. dick
58
Explicit Dependencies
Dependency Calculation Explicit Dependencies Datatypes: Boolean Int/Double Replay Continous Distribution Discrete Distribution Normal/Exponential Distribution Operations: Term (+,-) Multiplication/Division Modulo Power Comparison (>,<, <=, >=) Equal
59
Calculation Challenges
Dependency Calculation Calculation Challenges Int < PMF? Double >= PDF PMF + PMF? PMF AND Boolean? PDF ^ PDF? PMF * PDF? PDF = PMF? Koziolek, Heiko. Parameter dependencies for reusable performance specifications of software components. Diss. Universität Oldenburg, 2008
60
Schedule
61
PIBA Problem Idea Benefits Actions
DML supports advanced modeling of parametric dependencies, but solver does not support it Idea Resolve parametric dependencies beforehand Benefits More complicated models solvable Actions Extract Relationship/Modelvariable data Determine order of resolution Resolve the dependencies
62
Callpath
63
RelationshipGraph
64
Eval Models 1
65
Evalmodels 2
66
Evalmodels 3
67
Boolean
68
Comparisons
69
Discrete Arithmetic
70
Continuous Arithmetic
71
Evaluation
72
Motivation Modellierung von abhänigkeiten ist eine abstraktion, aber direkt lösen nicht möglich Auflösen um mit bestehenden verfahren zu lösen
73
Callpath Model Generation
TIEFENSUCHE
74
Callpath Model Generation
75
Callpath Model Generation
76
Callpath Model Generation
77
Callpath Model Generation
78
Callpath Model Generation
79
Callpath Model Generation
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.