Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio...

44
Universität Karlsruhe (TH) Research University founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program Structures and Data Organization (IPD) Faculty of Informatics, Universität Karlsruhe (TH) Prediction of Performance Properties Heiko Koziolek ([email protected]) Klaus Krogmann ([email protected]) Ralf Reussner ([email protected])

Transcript of Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio...

Page 1: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Universität Karlsruhe (TH)Research University • founded 1825

Palladio

Prediction of Performance Properties

Chair Software Design and QualityInstitute for Program Structures and Data Organization (IPD)

Faculty of Informatics, Universität Karlsruhe (TH)

Prediction of Performance Properties

Heiko Koziolek ([email protected])Klaus Krogmann ([email protected])

Ralf Reussner ([email protected])

Page 2: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Performance Prediction

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 2

Performance modelof a component-basedsoftware architecture

Performance data

▪ Execution time

▪ Throughput

▪ Resource utilisation

Page 3: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Palladio: The Approach

A Component Model

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 3

Multiple Analysis Methods

A Development Process

Page 4: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Agenda

▪ Research Group

▪ Overview: The Role Concept

▪ The Palladio Component Model

▪ Analysis Methods & Transformations

▪ Excerpts from CoCoME Models

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 4

▪ Excerpts from CoCoME Models& Prediction Results

▪ Conclusion

Photo

: pix

elio.d

e

Page 5: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Our Research Group

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 5

People & Topics

Page 6: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Ein Passant

Jens Happe: Analysismodel and Parallelism

Steffen Becker: Model-transformations and Meta-Modelling

Thomas Goldschmidt:Testing Environment

Elena Kienhöfer / Elke Sauer:Secretary

Ralf Reussner:Head of group

Johannes Stammel: Performance-Maintainability-Trade-off

Klaus Krogmann: Model-Reconstruction

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 6

Chris Rathfelder: Architecture Evaluation

Henning Groenda: Architecture Evaluation

Michael Kuperberg: Resource Modelling

Analysismodel and Parallelism

Anne Martens:Dynamic

Architectures

HeikoKoziolek:

Usage Model

Page 7: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

The Role Concept

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 7

Overview

&

Developer Roles tied to thePalladio Component Model

Roles � Component Model � Analysis Methods � CoCoME � ConclusionRoles

Page 8: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Development Roles

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 8

Roles � Component Model � Analysis Methods � CoCoME � ConclusionRoles

Page 9: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Soft. Arch.DSL Instance

Comp.Dev.DSL Instance

StochasticRegular Expr.

Analysis

SPA withScheduling

Analysis +Simulation

PalladioComponent

Model

Models and Analyses

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 9

Dom. Exp.DSL Instance

Sys. Depl.DSL Instance

Java CodeSkeletons

Completion +Compilation

QueueingNetwork

Simulation

PerformancePrototype

Execution +Measurement

Instance

Roles � Component Model � Analysis Methods � CoCoME � ConclusionRoles

Page 10: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Palladio Component Model

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 10

A Component Model for earlyDesign Time Performance Predictions

Roles � Component Model � Analysis Methods � CoCoME � ConclusionComponent Model

Page 11: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Palladio Component Model (PCM)

▪ Named after the Italian renaissance architect Andrea Palladio (1508–1580)

▪ Context-independent component specifications: Parameterised for re-use

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 11

specifications: Parameterised for re-use

▪ Split into sub-models:

– Domain specific modelling languages

– Specific for developer roles

Roles � Component Model � Analysis Methods � CoCoME � ConclusionComponent Model

Page 12: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Influences on Component Performance

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 12

Roles � Component Model � Analysis Methods � CoCoME � ConclusionComponent Model

Page 13: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Sub-Models

▪ Repository model

– Components and Interfaces

– Service Effect Specification (SEFF)

▪ System model

– Component Assembly

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 13

Roles � Component Model � Analysis Methods � CoCoME � ConclusionComponent Model

– Component Assembly

▪ Resource environment model

– Resource types model

▪ Allocation model

▪ Usage model

Page 14: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

ComponentA

ComponentBa()

b()

c()

Execution Time of a()?

?ms

2ms

3ms

a(list, count):

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 14

Roles � Component Model � Analysis Methods � CoCoME � ConclusionComponent Model

ComponentA

ComponentCd()5ms

Service Effect Specification(SEFF)

Page 15: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

System

«System»

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 15

considered within a PCM

instance for analyses

and simulations

system-

external

system-

external

Roles � Component Model � Analysis Methods � CoCoME � ConclusionComponent Model

Page 16: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Meta-Model

▪ Syntax

– Concrete syntax:Similar to UML 2 diagrams

– Abstract syntax:

• PCM is defined in the ECORE meta-meta-model

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 16

• Different concepts than UML 2 meta-model

▪ Semantics

– Static semantics: OCL constraints

– Dynamic semantics: Technical report

Roles � Component Model � Analysis Methods � CoCoME � ConclusionComponent Model

Page 17: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

PCM Bench Screenshot

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 17

Roles � Component Model � Analysis Methods � CoCoME � ConclusionComponent Model

Page 18: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Tool Support

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 18

Roles � Component Model � Analysis Methods � CoCoME � ConclusionComponent Model

Page 19: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Analysis Methods& Transformations

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 19

Simulation of Queuing Networks& Stochastic Process Algebras

Roles � Component Model � Analysis Methods � CoCoME � ConclusionAnalysis Methods

Page 20: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Analysis Methods

▪ Queuing Network– Simulation solution

– Support of concurrency, scheduling strategies

▪ Stochastic Regular Expression– Analytical solution

– No concurrency, but faster than simulation

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 20

▪ Stochastic Process Algebra– Hybrid solution (analysis + simulation)

– High-level support of concurrency

▪ All Support– Parameterisation

(usage, assembly, allocation, implementation)

– Arbitrary distribution functions

Roles � Component Model � Analysis Methods � CoCoME � ConclusionAnalysis Methods

Page 21: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Transformations

▪ Used by analysis methods

▪ Model-2-model / model-2-text transformations useopenArchitectureWare (oAW)

▪ Output

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 21

▪ Output

– POJOs

– EJB-System

▪ Supports

– “QoS-Prototype”

– Code skeletons

Roles � Component Model � Analysis Methods � CoCoME � ConclusionAnalysis Methods

Page 22: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

CoCoME

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 22

Palladio Models

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 23: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Excerpts

▪ Due to the size of CoCoME we will present only excerpts from our CoCoME models

▪ Repository

▪ SEFF

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 23

▪ SEFF

▪ Resource Environment

▪ Allocation

▪ Usage Model

▪ Prediction results

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 24: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Repository Model

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 24

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 25: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Repository Model

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 25

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 26: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

SEFF for bookSale()

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 26

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 27: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

SEFF for bookSale()

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 27

Page 28: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

System Model

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 28

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 29: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Resource Environment Model

StoreClient EnterpriseClient

«ResourceContainer» «ResourceContainer»

«ProcessingResourceSpecification»

ProcessingRate: 1.0Units: CPU-Units

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 29

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

StoreServer EnterpriseServer

«ResourceContainer» «ResourceContainer»

: «LinkingResource»

«CommunicationLinkResourceSpecification»

Throughput: 10.0Units: MBitLatency: 0

Units: CPU-Units

Page 30: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Allocation Model

GUI

«deployed-on»

Application

«deployed-on»

«deployed-on»

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 30

StoreClient StoreServer

«deployed-on» «deployed-on»

«ResourceContainer» «ResourceContainer»

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 31: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Usage Model

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 31

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 32: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Prediction Results (1)

▪ Response time

▪ bookSale()

▪ 20 Stores

▪ Open workload

BusyIdle

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 32

workload

▪ Minimum: 1,050 ms

▪ Maximum: 2,400 ms

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 33: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Prediction Results (3)

▪ Waiting time

▪ Enterprise Server (CPU)

▪ 20 Stores

▪ Open Pro

bability

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 33

▪ Open workload

▪ 30% of the requests are handled within100 ms Waiting time

Pro

bability

Possible Service Level Agreements

X% of requests have a waiting time of:� 90% < 1000 ms� 30% < 100 ms

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 34: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Prediction Results (2)

▪ Response time

▪ bookSale()

▪ 1 Store

▪ Open workload

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 34

workload

▪ Minimum: 1,050 ms

▪ Maximum: 1,825 ms

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 35: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Prediction Results (2)

▪ Response time

▪ bookSale()

▪ 50 Stores

▪ Open workload

Busy

Idle

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 35

workload

▪ Minimum: 1,000 ms

▪ Maximum: 52,000 ms

▪ CPU queueis overfull

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 36: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Prediction Results (4)

▪ Utilisation

▪ EnterpriseServer (CPU)

▪ 50 Stores

▪ Openworkload

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 36

workload

▪ Up to 46concurrentjobs

▪ Idle: 1.8%

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 37: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Results

▪ Simulation used

▪ All results base on the specification of the non-functional properties from the CoCoME chapter: Static time consumptions

▪ The results show that the enterprise server

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 37

▪ The results show that the enterprise server cannot handle 200 concurrently accessing store servers (as specified)

Roles � Component Model � Analysis Methods � CoCoME � ConclusionCoCoME

Page 38: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Conclusion

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 38

Roles � Component Model � Analysis Methods � CoCoME � ConclusionConclusion

Page 39: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Limitations

▪ Current Palladio approach

– No persistent component state

– No dynamic architectures

– Only one-to-one connectors

▪ Modelling CoCoME

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 39

▪ Modelling CoCoME

– Embedded part of the system (“POS”) was left out

– Exceptions not modelled

– POS and database were considered system-external

Roles � Component Model � Analysis Methods � CoCoME � ConclusionConclusion

Page 40: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Lessons learned

▪ Support of “sub-systems” apart from composite components would have been useful

▪ One-to-many connections and replication (store servers) should be supported by the

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 40

(store servers) should be supported by the PCM

▪ CoCoME: good debugging and testing system

Roles � Component Model � Analysis Methods � CoCoME � ConclusionConclusion

Page 41: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Future Work

▪ Automation of model reconstruction for given source code

▪ “High-level-modelling”: Concurrency, synchronisation

▪ Dynamic Architectures

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 41

▪ Dynamic Architectures

▪ Resource Model

▪ Measure an adapted implementation of CoCoME� compare to the prediction results

Roles � Component Model � Analysis Methods � CoCoME � ConclusionConclusion

Page 42: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

More Information

http://sdqweb.ipd.uka.de/wiki/CoCoME-PCM

▪ CoCoME-Models

▪ Further prediction results

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 42

▪ Further prediction results

▪ Tools downloads: Modelling and Prediction

▪ Documentation of the Palladio Component Model

▪ Development Process in details

Roles � Component Model � Analysis Methods � CoCoME � ConclusionConclusion

Page 43: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

Palladio

A Component Model

� Context independent specification� Sub-models reduce complexity� Arbitrary distribution functions

Multiple Analysis Methods

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 43

� Queuing network based simulation � Stochastic process algebra

Multiple Analysis Methods

A Development Process

� Applicable with the PCM� Explicit support of component ideas

Roles � Component Model � Analysis Methods � CoCoME � ConclusionConclusion

Page 44: Universität Karlsruhe (TH) - t Karlsruhe (TH) Research University •founded 1825 Palladio Prediction of Performance Properties Chair Software Design and Quality Institute for Program

References

▪ See the CoCoME book chapter

Klaus Krogmann - Palladio: Prediction of Performance Properties 21/08/2007 44

Roles � Component Model � Analysis Methods � CoCoME � Conclusion