new concepts for online architecture-level performance models

47
KIT University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association DESCARTES RESEARCH GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS www.kit.edu Fabian Brosig ([email protected]) Open Excellence Workshop, December 4, 2012, Karlsruhe New Concepts for Online Architecture-Level Performance Models

Upload: others

Post on 19-Feb-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: New Concepts for Online Architecture-Level Performance Models

KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association

DESCARTES RESEARCH GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS

www.kit.edu

Fabian Brosig ([email protected])

Open Excellence Workshop, December 4, 2012, Karlsruhe

New Concepts for Online Architecture-Level Performance Models

Page 2: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

2

Motivation: Online Performance Prediction

Fabian Brosig - Online Architecture-Level Performance Models

•Performance query (Performance question, Constraints) •Question: „How  does  Change  X  affect  the  performance  of  Y  in  terms  of  metric  Z?“ •Constraints: Accuracy, timing constraints, overhead

Page 3: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

3

Motivation: Online Performance Prediction

Fabian Brosig - Online Architecture-Level Performance Models

•Performance query (Performance question, Constraints) •Question: „How  does  Change  X  affect  the  performance  of  Y  in  terms  of  metric  Z?“ •Constraints: Accuracy, timing constraints, overhead

Performance Query

• Question: How does Change X affect the performance of Y in terms of metric Z“?

Page 4: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

4

Motivation: Online Performance Prediction

Fabian Brosig - Online Architecture-Level Performance Models

•Performance query (Performance question, Constraints) •Question: „How  does  Change  X  affect  the  performance  of  Y  in  terms  of  metric  Z?“ •Constraints: Accuracy, timing constraints, overhead

Online Performance Prediction

Page 5: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

5

Motivation: Online Performance Prediction

Fabian Brosig - Online Architecture-Level Performance Models

•Performance query (Performance question, Constraints) •Question: „How  does  Change  X  affect  the  performance  of  Y  in  terms  of  metric  Z?“ •Constraints: Accuracy, timing constraints, overhead

Online Performance Prediction

Page 6: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

6

Motivation: Online Performance Prediction

Fabian Brosig - Online Architecture-Level Performance Models

•Performance query (Performance question, Constraints) •Question: „How  does  Change  X  affect  the  performance  of  Y  in  terms  of  metric  Z?“ •Constraints: Accuracy, timing constraints, overhead

Precondition for

• Avoiding Service Level Agreement (SLA) violations

• Efficient resource management

Online Performance Prediction

• Problem anticipation • Predictions for different

configurations

Page 7: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

7

State-of-the-Art: Models for performance prediction at run-time

Fabian Brosig - Online Architecture-Level Performance Models

[G. Pacifici et al], [A. D‘Ambrogio et al], [G. Tesauro et al], [D. Menasce et al], [C. Adam et al], [I. Foster er al], [A. Othman et al], [P. Shivam et  al],  …

Based on, e.g., (layered) queueing networks or queueing petri nets (predictive performance models) Simple models that abstract the system at a very high level Services modeled as black boxes Software architecture and configuration not modeled Many restrictive assumptions imposed

Page 8: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

8

State-of-the-Art: Models for design&deployment time

Fabian Brosig - Online Architecture-Level Performance Models

[R. Reussner et al], [M. Woodside et al], [D. Petriu et al], [C. Smith et al], [R. Mirandola et al], [K. Trivedi et al], [V. Cortellessa et al], [I. Gorton et al], [E. Eskenazi et  al],  …

Software architecture models annotated with descriptions of system’s  performance-relevant behavior

Used at design time Evaluate alternative system designs

Used at deployment time Predict the system performance for capacity planning purposes

Page 9: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

10

Approach

Fabian Brosig - Online Architecture-Level Performance Models

Differences in the type of data available for model parameterization

Current approaches to model component execution context not suitable for use at run-time

Overhead in analyzing models

Use architecture-level performance models for online performance prediction

Page 10: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

11

Outline

Online performance prediction scenario Application Architecture Model

Abstractions to model service behavior New modeling concepts for expressing parameter and context dependencies

Fabian Brosig - Online Architecture-Level Performance Models

Page 11: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

12

ONLINE PREDICTION SCENARIO

Fabian Brosig - Online Architecture-Level Performance Models

Page 12: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

13

Online Performance Prediction Scenario

Fabian Brosig - Online Architecture-Level Performance Models

Page 13: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

14

SPECjEnterprise2010

Fabian Brosig - Online Architecture-Level Performance Models

Supply Chain Management (SCM)

Manufacturing

Customer Relationship Management (CRM)

Page 14: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

15

Online Performance Prediction Scenario

Fabian Brosig - Online Architecture-Level Performance Models

Page 15: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

16

APPLICATION ARCHITECTURE MODEL

Fabian Brosig - Online Architecture-Level Performance Models

Page 16: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

17

Descartes Meta-Model

Fabian Brosig - Online Architecture-Level Performance Models

Page 17: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

18

Descartes Meta-Model: Resource Environment

Fabian Brosig - Online Architecture-Level Performance Models

Further details in:

• N. Huber, F. Brosig and S. Kounev. Modeling Dynamic Virtualized Resource Landscapes. In Proceedings of the 8th ACM SIGSOFT International Conference on the Quality of Software Architectures (QoSA 2012), Bertinoro, Italy, June 25-28, 2012.

Page 18: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

19

Resource Landscape: Example

Fabian Brosig - Online Architecture-Level Performance Models

Page 19: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

20

DMM: Application Architecture

Fabian Brosig - Online Architecture-Level Performance Models

Further details in, e.g.:

• F. Brosig, N. Huber, and S. Kounev. Modeling Parameter and Context Dependencies in Online Architecture-Level Performance Models. In Proceedings of the 15th ACM SIGSOFT International Symposium on Component Based Software Engineering (CBSE 2012), Bertinoro, Italy, June 26-28, 2012.

Deployment

Page 20: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

21

Application Architecture Model

Service Behavior Abstractions for Different Levels of Granularity Probabilistic Parameter Dependencies Deployment-Specific Resource Demands / Response Time

Fabian Brosig - Online Architecture-Level Performance Models

Page 21: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

22

„Recap“  – (Composite) Components and Interfaces

Fabian Brosig - Online Architecture-Level Performance Models

CompA CompB

CompC CompD

InterfaceX InterfaceY InterfaceZ

<<Provides>><<Provides>> <<Requires>>

<<Requires>>

<<Provides>> <<Provides>>

<<Interface>>

<<BasicComponent>>

<<BasicComponent>>

<<BasicComponent>>

<<CompositeComponent>>

<<Interface>> <<Interface>>

CompA

Inst_CompC

<<CompositeComponent>>

<<AssemblyContext>>

Inst_CompB

<<AssemblyContext>>

Inst_CompD

<<AssemblyContext>>

Page 22: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

23

Application Architecture Model

Service Behavior Abstractions for Different Levels of Granularity Probabilistic Parameter Dependencies Deployment-Specific Resource Demands / Response Time

Fabian Brosig - Online Architecture-Level Performance Models

Page 23: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

24

Service Behavior Abstractions

Outsourced Service? 3rd Party Component?

Provided service:purchase(..)

SupplyChainManagement

<<Component>>

SupplyChainManagement

<<AssemblyContext>>

What do we want to predict? What performance-relevant data is available?

Fabian Brosig - Online Architecture-Level Performance Models

Page 24: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

25

Service Behavior Abstractions

SupplyChainManagement<<CompositeComponent>>

Provided service:sendPurchaseOrder(..)

PurchaseOrder<<Component>>

PurchaseOrder

<<AssemblyContext>>

Required services:processPurchaseOrderAttachment(..)processPurchaseOrderInline(..)

Response Time Statistics

Fabian Brosig - Online Architecture-Level Performance Models

Page 25: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

26

Service Behavior Abstractions

BlackBoxBehavior No information about resources, resource demands, control  flow,  call  frequencies,…

CoarseGrainedBehavior Information at component boundary level (external services, resource consumption,...)

FineGrainedBehavior Information about component-internals (control flow, resource demands, parametric dependencies,...)

Fabian Brosig - Online Architecture-Level Performance Models

Page 26: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

27

Service Behavior Abstractions - Metamodel

System

InterfaceRequiringEntityInterfaceProvidingEntity

InterfaceProvidingRequiringEntity

RepositoryComponent

SubsystemCompositeComponentBasicComponent

BlackBoxBehavior

CoarseGrainedBehavior

FineGrainedBehavior

SignatureServiceBehaviorAbstraction

1

1

*

1

1

*

*

Fabian Brosig - Online Architecture-Level Performance Models

Page 27: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

28

Service Behavior Abstractions - Metamodel

BlackBoxBehavior

ResponseTime

1

0..1ResourceDemandSpecification

CoarseGrainedBehavior

ExternalCallFrequency

ExternalCall CallFrequency

*

1

1

1

1

1

0..1

*

ProcessingResourceType

ResourceDemand

1

1

Fabian Brosig - Online Architecture-Level Performance Models

Page 28: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

29

Service Behavior Abstractions - Metamodel

FineGrainedBehavior

1

AbstractAction

1 *

ExternalCallAction

Signature

StartAction

StopAction

InternalAction LoopAction

ResourceDemandSpecification LoopIterationCount

ForkAction BranchAction

BranchProbabilities

BranchTransition

ComponentInternalBehavior

0..1

0..1

pred

succ{ordered}

forks

body

1

*

11*

AcquireAction

ReleaseAction *

PassiveResource

1

1

0..1

Control flow abstraction

Fabian Brosig - Online Architecture-Level Performance Models

Page 29: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

30

Service Behavior Abstraction - Example

Fabian Brosig - Online Architecture-Level Performance Models

FineGrainedBehavior

<<BranchAction>>

<<BranchTransition>>Probability: 0.5

<<ExternalCallAction>>processPurchaseOrderAttachment

<<BranchTransition>>Probability: 0.5

<<ExternalCallAction>>processPurchaseOrderInline

sendPurchaseOrder: FineGrainedBehavior

Page 30: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

31

Service Behavior Abstraction - Example

Fabian Brosig - Online Architecture-Level Performance Models

CoarseGrainedBehavior

<<ExternalCallFrequency>>frequency: IntPMF[(0;0.5)(1;0.5)]

processPurchaseOrderAttachment

<<ExternalCallFrequency>>frequency: IntPMF[(0;0.5)(1;0.5)]

processPurchaseOrderInline

sendPurchaseOrder: CoarseGrainedBehavior

Page 31: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

32

Service Behavior Abstraction - Example

Fabian Brosig - Online Architecture-Level Performance Models

CoarseGrained FineGrained

Page 32: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

33

Parameter and Context Dependencies

Characterize dependencies probabilistically Influencing parameters

Service input parameters

Influenced variables Loop iteration numbers (FineGrainedBehavior)

Branch probabilities (FineGrainedBehavior)

Call frequencies (CoarseGrainedBehavior)

Resource demands (FineGrainedBehavior, CoarseGrainedBehavior)

Response times (BlackBoxBehavior)

Fabian Brosig - Online Architecture-Level Performance Models

ModelVariable

name : stringdescription : string

InfluencingParameter

CallParameter

ServiceBehaviorAbstraction desc : RandomVariable

ResourceDemand

desc : RandomVariable

ResponseTime

desc : RandomVariable

ControlFlowVariable

BranchProbabilities

LoopIterationCount

CallFrequency

1

*

InfluencedVariable

0..1 0..1 0..11

*

Page 33: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

34

Parameter Dependencies

Required service:purchase(List demands)

Manufacturing

<<AssemblyContext>>

Manufacturing

<<BasicComponent>>

Required/Provided service:scheduleManufacturing(String workOrderId)

Fabian Brosig - Online Architecture-Level Performance Models

Page 34: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

35

Parameter Dependencies The more assemblies to manufacture,

the higher the probability of a purchase() request.

Required service:purchase(List demands)

Provided service:newOrder(String assemblyId, int quantity)

Manufacturing

<<AssemblyContext>>

Manufacturing

<<BasicComponent>>

Dealer

<<BasicComponent>>

Dealer

<<AssemblyContext>>

Required/Provided service:scheduleManufacturing(String workOrderId)

Fabian Brosig - Online Architecture-Level Performance Models

Page 35: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

36

Parameter Dependencies

Fabian Brosig - Online Architecture-Level Performance Models

Monitoring Overhead?

Monitor Throttling: Trace only a subset of the system requests, e.g., every 1000th request

Page 36: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

37

Parameter Dependencies

Workload: Measurements: Predictions:

scheduleManufacturing U_WLS

R_avg [ms] U_WLS R_avg [ms]

quantity in [0..10] 0.166 17.2 0.365 19.4

quantity in [0..200] 0.627 32.9 0.607 28.3

Fabian Brosig - Online Architecture-Level Performance Models

With  P(„more  parts  are  needed“)  =  0.10: U_WLS = 0.196, R_avg = 16.8 ms

Page 37: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

38

Parameter Dependencies - Approach

SPECjEnterprise2010<<CompositeComponent>>

Required/Provided service:purchase(List demands)

Provided service:newOrder(String assemblyId, int quantity)

Required/Provided service:scheduleManufacturing(String workOrderId)

SupplyChainManagement

<<AssemblyContext>>

Manufacturing

<<AssemblyContext>>

Dealer

<<AssemblyContext>>

InfluencedVariable1

Fabian Brosig - Online Architecture-Level Performance Models

Page 38: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

39

Parameter Dependencies - Approach

SPECjEnterprise2010<<CompositeComponent>>

Required/Provided service:purchase(List demands)

Provided service:newOrder(String assemblyId, int quantity)

Required/Provided service:scheduleManufacturing(String workOrderId)

SupplyChainManagement

<<AssemblyContext>>

Manufacturing

<<AssemblyContext>>

Dealer

<<AssemblyContext>> InfluencingParameter1

InfluencedVariable1

Fabian Brosig - Online Architecture-Level Performance Models

Page 39: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

40

Parameter Dependencies - Approach

SPECjEnterprise2010<<CompositeComponent>>

Required/Provided service:purchase(List demands)

Provided service:newOrder(String assemblyId, int quantity)

Required/Provided service:scheduleManufacturing(String workOrderId)

SupplyChainManagement

<<AssemblyContext>>

Manufacturing

<<AssemblyContext>>

Dealer

<<AssemblyContext>>

InfluencingParameter2

InfluencingParameter1

InfluencedVariable1

Path from the influenced variable to the system

boundary.

Fabian Brosig - Online Architecture-Level Performance Models

Page 40: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

41

Model Variables - Metamodel

ModelVariable

name : stringdescription : string

InfluencingParameter

CallParameter

ServiceBehaviorAbstraction desc : RandomVariable

ResourceDemand

desc : RandomVariable

ResponseTime

desc : RandomVariable

ControlFlowVariable

BranchProbabilities

LoopIterationCount

CallFrequency

1

*

InfluencedVariable

0..1 0..1 0..11

*

Fabian Brosig - Online Architecture-Level Performance Models

Page 41: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

42

Call Parameter Hierarchy - Metamodel

CallParameter

ServiceInputParameter

ProvidedRole

1*

ExternalCallReturnParameter

ExternalCall

1

ExternalCallParameter

ExternalCall1

* *

Fabian Brosig - Online Architecture-Level Performance Models

Page 42: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

43

Validity of Measurements – „Scope“

CustomerA<<Subsystem>>

SPECjEnterprise2010

<<AssemblyContext>>

SPECjEnterprise2010

<<AssemblyContext>>

SPECjEnterprise2010

<<AssemblyContext>>

Customer-specific application server cluster Scenario: Replicate Server Instance

Fabian Brosig - Online Architecture-Level Performance Models

Page 43: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

44

Validity of Measurements – „Scope“

Customer-specific application server cluster Scenario: Replicate Server Instance

CustomerA<<Subsystem>>

SPECjEnterprise2010

<<AssemblyContext>>

SPECjEnterprise2010

<<AssemblyContext>>

SPECjEnterprise2010

<<AssemblyContext>>

CustomerB<<Subsystem>>

SPECjEnterprise2010

<<AssemblyContext>>

SPECjEnterprise2010

<<AssemblyContext>>

Fabian Brosig - Online Architecture-Level Performance Models

Page 44: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

45

Modeling Scopes - Example

Fabian Brosig - Online Architecture-Level Performance Models

System A

X_AC1

Y_AC2

Z_AC1

Y_AC1

Z_AC1

X_AC2

Y_AC2

Z_AC1

Y_AC1

Z_AC1

instC(p)_1

instC(p)_2

instC(p)_3

instC(p)_4

scopeC(instC(p)_1)=

scopeC(instC(p)_2)

scopeC(instC(p)_3)=

scopeC(instC(p)_4)

Page 45: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

46

Modeling Scopes - Example

Fabian Brosig - Online Architecture-Level Performance Models

Z_AC1

<<AssemblyContext>>

Y_AC1

<<AssemblyContext>>

Y_AC2

<<AssemblyContext>>

X_AC2

<<AssemblyContext>>

X_AC1

<<AssemblyContext>>

Z

<<BasicComponent>>

Y

<<CompositeComponent>>

X

<<CompositeComponent>>

System A<<System>>

contains encapsulates contains encapsulates contains encapsulates

Influencing parameter p

ScopeS(p)

Page 46: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

47

Deployment-Specific Resource Demands

CompB

<<AssemblyContext>>

<<ResourceContainer>>

ApplicationServer1

CompB

<<AssemblyContext>>

Component Repository

System

Deployment

Resource Landscape

<<ResourceContainer>>

ApplicationServer2

CompB

ResourceDemand:12 ms CPU

ResourceDemand:15 ms CPU

<<BasicComponent>>

<<ResourceDemandingElement>>

CompB_Allocation

<<DeploymentContext>>CompB_

Allocation

<<DeploymentContext>>

Fabian Brosig - Online Architecture-Level Performance Models

Page 47: New Concepts for Online Architecture-Level Performance Models

Descartes Research Group http://www.descartes-research.net

50

Summary

Use architecture-level performance models for online performance prediction

Application Architecture Model

Different abstractions to model service behavior New modeling concepts for expressing parameter and context dependencies

Descartes Meta-Model (DMM)

Fabian Brosig - Online Architecture-Level Performance Models