Presentation is loading. Please wait.

Presentation is loading. Please wait.

Solving Explicit Dependencies for Architectural Performance Models

Similar presentations


Presentation on theme: "Solving Explicit Dependencies for Architectural Performance Models"— Presentation transcript:

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


Download ppt "Solving Explicit Dependencies for Architectural Performance Models"

Similar presentations


Ads by Google