An Architectural Template for Parallel Loops and Sections
Symposium on Software Performance 2018 Markus Frank & Alireza Hakamian
An A rchitectural T emplate for Parallel Loops and Sections - - PowerPoint PPT Presentation
An A rchitectural T emplate for Parallel Loops and Sections Symposium on Software Performance 2018 Markus Frank & Alireza Hakamian The Problem with Palladio and Parallelism Manual Modelling Overhead Performance Inaccurate Model
Symposium on Software Performance 2018 Markus Frank & Alireza Hakamian
Manual Modelling Overhead
08.11.18
2
John Data Analyst Me Software Performance Engineer Palladio Simulator
BI System Performance Model
Performance Prediction Results Inaccurate Predictions
Off by 63 %
Report”. In: Proceedings of the Symposium on Software Performance 2016, Kiel, Germany Frank, M., Staude, S. & Hilbrich, M. Is the PCM Ready for ACTORs and Multicore CPUs? - A Use Case-based Evaluation. In Proceedings of the Symposium on Software Performance 2017, Karlsruhe, Germany.
08.11.18
3
Resource Demand Repetitions Parallelisation Software
08.11.18 5
John Data Analyst
<< loopAction >> rep = matrixASizeM.VALUE * matrixASizeN.VALUE * matrixBSizeJ.VALUE ResourceDemands 0.00000069 <CPU> << InternalAction >> calculation
Resource Demand Repetitions
08.11.18 7
Software Model
ResourceDemands 0.00000069 * matrixASizeM.VALUE * matrixASizeN.VALUE * matrixBSizeJ.VALUE <CPU> << InternalAction >> calculationA
Resource Demand Repetitions
<< Fork >> ForkedBehaviours << Synchronisation Point >> ResourceDemands 0.00000069 * matrixASizeM.VALUE * matrixASizeN.VALUE * matrixBSizeJ.VALUE / 2 <CPU> << InternalAction >> calculationA ResourceDemands 0.00000069 * matrixASizeM.VALUE * matrixASizeN.VALUE * matrixBSizeJ.VALUE / 2 <CPU> << InternalAction >> calculationB
Parallelisation
08.11.18 8
Software Model
<< Fork >> ForkedBehaviours << Synchronisation Point >> ResourceDemands 0.00000069 * matrixASizeM.VALUE * matrixASizeN.VALUE * matrixBSizeJ.VALUE / 2 <CPU> << InternalAction >> calculationA ResourceDemands 0.00000069 * matrixASizeM.VALUE * matrixASizeN.VALUE * matrixBSizeJ.VALUE / 2 <CPU> << InternalAction >> calculationB 08.11.18 9
Software Model
<< loopAction >> @Parallel rep = matrixASizeM.VALUE * matrixASizeN.VALUE * matrixBSizeJ.VALUE threadPooleSize = threadNumber ResourceDemands 0.00000069 <CPU> << InternalAction >> calculation
Resource Demand Repetitions Parallelisation
08.11.18 10
Efficiency Software Model
Define Stereotype
OVT-o
Add To Catalog
08.11.18 12 Lehrig, Sebastian Michael. Efficiently Conducting Quality-of-Service Analyses by Templating Architectural Knowledge. Vol. 25. KIT Scientific Publishing, 2018.
“Architectural Templates allow software architects to apply reusable patterns to their Palladio models.“
<< loopAction >> @Parallel rep = matrixASizeM.VALUE * matrixASizeN.VALUE * matrixBSizeJ.VALUE threadPooleSize = threadNumber
ResourceDemands 0.00000069 <CPU> << InternalAction >> calculation
08.11.18 14
Software Model Accuracy
<< Fork >> ForkedBehaviours << Synchronisation Point >> ResourceDemands 0.00000069 * matrixASizeM.VALUE * matrixASizeN.VALUE * matrixBSizeJ.VALUE / 2 <CPU> << InternalAction >> calculationA ResourceDemands 0.00000069 * matrixASizeM.VALUE * matrixASizeN.VALUE * matrixBSizeJ.VALUE / 2 <CPU> << InternalAction >> calculationB ResourceDemands
<< InternalAction >>
08.11.18 15
Software Model Accuracy
08.11.18
17
Manual Modelling Overhead
08.11.18
18
John Data Analyst Me Software Performance Engineer Palladio Simulator
BI System Performance Model
Performance Prediction Results Inaccurate Predictions
Off by 63 %
E-Mail Telefon +49 (0) 711 685- www. Universität Stuttgart Universitätsstraße 38, 70569 Stuttgart, Germany Markus Frank 88272 Reliable Software Systems markus.frank@informatk.uni-stuttgart.de Institut für Softwaretechnologie Reliable Software Systems iste.uni-stuttgart.de/rss.html