Utilizing PCM for Online Capacity Management of Component-Based - - PowerPoint PPT Presentation

utilizing pcm for online capacity management of component
SMART_READER_LITE
LIVE PREVIEW

Utilizing PCM for Online Capacity Management of Component-Based - - PowerPoint PPT Presentation

Utilizing PCM for Online Capacity Management of Component-Based Software Systems Andr van Hoorn Software Engineering Group, University of Kiel http://se.informatik.uni-kiel.de/ Nov. 18, 2011 @ Palladio Days, Karlsruhe Andr van Hoorn (CAU


slide-1
SLIDE 1

Utilizing PCM for Online Capacity Management of Component-Based Software Systems

André van Hoorn

Software Engineering Group, University of Kiel http://se.informatik.uni-kiel.de/

  • Nov. 18, 2011 @ Palladio Days, Karlsruhe

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

1 / 19

slide-2
SLIDE 2

Context of this Work

Online Capacity Management for Increased Resource Efficiency

Introduction ⊲ Adaptive Capacity Management

  • Business-critical software systems

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

2 / 19

slide-3
SLIDE 3

Context of this Work

Online Capacity Management for Increased Resource Efficiency

Introduction ⊲ Adaptive Capacity Management

  • Business-critical software systems
  • Quality of service (performance, availability, . . . )

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

2 / 19

slide-4
SLIDE 4

Context of this Work

Online Capacity Management for Increased Resource Efficiency

Introduction ⊲ Adaptive Capacity Management

  • Business-critical software systems
  • Quality of service (performance, availability, . . . )
  • Varying workloads + static capacity management

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

2 / 19

slide-5
SLIDE 5

Context of this Work

Online Capacity Management for Increased Resource Efficiency

Introduction ⊲ Adaptive Capacity Management

Problem: Overprovisioning — unnecessarily high operating costs Underutilized resources during medium/low workload periods Goal: Increase resource efficiency while meeting SLAs ⊲ SLAstic [van Hoorn et al. 2009a, van Hoorn 2011]: Online capacity management employing architecture-based runtime reconfiguration

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

2 / 19

slide-6
SLIDE 6

Agenda

SLAstic Approach

1

Introduction — Adaptive Capacity Management

2

SLAstic Approach

3

Extracting SLAstic Models via Dynamic Analysis

4

Utilizing PCM for SLAstic

5

Conclusions

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

3 / 19

slide-7
SLIDE 7

SLAstic Runtime Reconfiguration Operations

SLAstic Approach ⊲ Overview

1 (De-)Replication of Software Components

C3 C2 C1 C1 C3 C2 C2

2 Migration of Software Components

C2 C3 C2 C1 C3 C1

3 (De-)Allocation of Execution Containers

N1

...

Nm Nm N1

...

Nm+1

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

4 / 19

slide-8
SLIDE 8

SLAstic Runtime Reconfiguration Operations

SLAstic Approach ⊲ Overview

1 (De-)Replication of Software Components

  • replicate (component: AssemblyComponent, to: ExecutionContainer)
  • dereplicate (component: DeploymentComponent)

2 Migration of Software Components

  • migrate (component: DeploymentComponent, to: ExecutionContainer)

3 (De-)Allocation of Execution Containers

  • deallocate (container: ExecutionContainer)
  • allocate (containerType: ExecutionContainerType)

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

4 / 19

slide-9
SLIDE 9

Online Capacity Management Framework

SLAstic Approach ⊲ Overview

instrumented, runtime reconfigurable s/w system

...

SLAstic. RECONFIGURATION

architecture technology

SLAstic. MONITORING SLAstic.CONTROL Analysis

  • nline adaptation engine

SLAstic model raw monitoring records monitoring events reconfiguration plans reconfiguration actions instrumentation initialization extraction SLAstic model André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

5 / 19

slide-10
SLIDE 10

SLAstic.MONITORING utilizes Kieker [van Hoorn et al. 2009b]

Online Capacity Management Framework (cont’d)

SLAstic Approach ⊲ Overview

instrumented, runtime reconfigurable s/w system

...

SLAstic. RECONFIGURATION

architecture technology

SLAstic. MONITORING SLAstic.CONTROL Analysis

  • nline adaptation engine

SLAstic model raw monitoring records monitoring events reconfiguration plans reconfiguration actions instrumentation initialization extraction SLAstic model

http://kieker.sourceforge.net

M M M M M M M

e.g., AOP-based method call interception Monitoring Log/Stream e.g., file system, database, message-oriented middleware e.g., trace information, workload, response times, resource utilization, loop counts

Monitoring Record Kieker.Monitoring Kieker.Analysis Analysis Plug-In

e.g., architecture reconstruction, performance evaluation, online adaptation control, failure diagnosis

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

5 / 19

slide-11
SLIDE 11

SLAstic.CONTROL (zoom-in)

Online Capacity Management Framework (cont’d)

SLAstic Approach ⊲ Overview

instrumented, runtime reconfigurable s/w system

...

SLAstic. RECONFIGURATION

architecture technology

SLAstic. MONITORING SLAstic.CONTROL Analysis

  • nline adaptation engine

SLAstic model raw monitoring records monitoring events reconfiguration plans reconfiguration actions instrumentation initialization extraction SLAstic model SLAstic.CONTROL Model Manager SLAstic model Model Updater Analysis Performance Evaluator Workload Forecaster Performance Predictor Adaptation Planner monitoring events reconfi- guration plans André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

5 / 19

slide-12
SLIDE 12

Usage Scenarios of the SLAstic Framework

Online Capacity Management Framework (cont’d)

SLAstic Approach ⊲ Overview

1 Online analysis (production/lab system)

SLAstic. MONITORING SLAstic. RECONFIGURATION

SLAstic.CONTROL

Instrumented, runtime reconfigurable s/w system (or lab system) ... Monitoring log from case study Workload Generator

JMeter/ Markov4JMeter

2 Offline analysis (log replay)

SLAstic. MONITORING SLAstic. RECONFIGURATION

SLAstic.CONTROL

Monitoring log from case study (Real time) Log Replayer

Kieker. LogReplayer(RT)

3 Simulation-based analysis

Instrumented, runtime reconfigurable s/w system (simulation)

SLAstic. MONITORING SLAstic. RECONFIGURATION

SLAstic.CONTROL

Monitoring log from case study Log Replayer

SLAstic.SIM

...

Kieker. LogReplayer

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

6 / 19

slide-13
SLIDE 13

Type Repository

System Partition (cont’d)

SLAstic Approach ⊲ Meta Model

System Partition (also used as runtime model)

1 Type repository (e.g., component types, interfaces, connector types, execution container types)

<<Provides>> <<ComponentType>>

BookstoreT

<<Interface>>

IBookstore

<<Provides>> Book searchBook() <<ComponentType>>

CatalogT

<<Interface>>

ICatalog Book getBook()

<<Requires>> <<ConnectorType>>

ConnectorTICatalog

<<ConnectorType>>

ConnectorTIBook

<<ExecutionContainerType>>

WebSrvT

<<ExecutionContainerType>>

AppSrvT

Example type repository

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

7 / 19

slide-14
SLIDE 14

Component Assembly

System Partition (cont’d)

SLAstic Approach ⊲ Meta Model

System Partition (also used as runtime model)

1 Type repository (e.g., component types, interfaces, connector types, execution container types) 2 Component assembly (e.g., assembly of components via connectors)

<<ComponentType>>

BookstoreT

<<AssemblyComponent>>

bookstore

<<AssemblyComponent>>

catalog

<<ComponentType>>

CatalogT

<<AssemblyConnector>> <<ConnectorType>>

ConnectorTICatalog

Example component assembly

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

7 / 19

slide-15
SLIDE 15

Execution Environment

System Partition (cont’d)

SLAstic Approach ⊲ Meta Model

System Partition (also used as runtime model)

1 Type repository (e.g., component types, interfaces, connector types, execution container types) 2 Component assembly (e.g., assembly of components via connectors) 3 Execution environment (e.g., execution containers and interconnection via links)

<<ExecutionContainer>>

app1:AppSrvT

<<ExecutionContainer>>

app2:AppSrvT

<<ExecutionContainer>>

web1:WebSrvT

<<ExecutionContainer>>

web2:WebSrvT

Example execution environment

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

7 / 19

slide-16
SLIDE 16

Component deployment

System Partition (cont’d)

SLAstic Approach ⊲ Meta Model

System Partition (also used as runtime model)

1 Type repository (e.g., component types, interfaces, connector types, execution container types) 2 Component assembly (e.g., assembly of components via connectors) 3 Execution environment (e.g., execution containers and interconnection via links) 4 Component deployment (mapping: assembly components → containers)

<<ExecutionContainer>>

app1:AppSrvT

<<AssemblyComponent>>

catalog

<<ComponentType>>

CatalogT

<<ExecutionContainer>>

app2:AppSrvT

<<AssemblyComponent>>

catalog

<<ComponentType>>

CatalogT

<<ExecutionContainer>>

web1:WebSrvT

<<AssemblyComponent>>

bookstore

<<ComponentType>>

BookstoreT

<<ExecutionContainer>>

web2:WebSrvT

<<AssemblyComponent>>

bookstore

<<ComponentType>>

BookstoreT

DeploymentComponent

Example component deployment

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

7 / 19

slide-17
SLIDE 17

SLAstic2PCM Transformation

System Partition (cont’d)

SLAstic Approach ⊲ Meta Model

System Partition (also used as runtime model)

1 Type repository (e.g., component types, interfaces, connector types, execution container types) 2 Component assembly (e.g., assembly of components via connectors) 3 Execution environment (e.g., execution containers and interconnection via links) 4 Component deployment (mapping: assembly components → containers)

SLAstic2PCM transforms SLAstic model to PCM [Günther 2011]

SLAstic-System-Modell SLAstic-Usage-Modell

SLAstic2PCM

Ausführung durch:

  • Eclipse-Launcher
  • Kommandozeile
  • Java-API

PCM-Modell

  • ResourceType
  • Repository
  • ResourceEnvironment
  • Allocation
  • System
  • UsageModel
  • TypeRepository
  • ExecutionEnvironment
  • ComponentAssembly
  • ComponentDeployment

  • N. Günther. Modellbasierte Laufzeit-Performance-Vorhersage für komponentenbasierte Softwarearchitekturen

(“Model-based online performance prediction for component-based software architectures”, in german),

  • Nov. 2011. Diploma Thesis, University of Kiel.

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

7 / 19

slide-18
SLIDE 18

Adaptation/Reconfiguration

Completions/Decorations

SLAstic Approach ⊲ Meta Model

Completions/Decorations

  • Adaptation / Reconfiguration (e.g., plans, operations, capabilities, properties)

PCM-specific implementation of operations part of SLAstic.SIM [von Massow et al. 2011]

  • R. von Massow, A. van Hoorn, and W. Hasselbring. Performance simulation of runtime reconfigurable component-based

software architectures. In Proc. ECSA ’11, vol. 6903 of LNCS, pages 43–58. Springer, Sept. 2011 (As presented at Palladio Days 2010) André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

8 / 19

slide-19
SLIDE 19

Measurement

Completions/Decorations (cont’d)

SLAstic Approach ⊲ Meta Model

Completions/Decorations

  • Adaptation / Reconfiguration (e.g., plans, operations, capabilities, properties)
  • Measurement (e.g., workload, timing, utilization)

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

8 / 19

slide-20
SLIDE 20

Usage

Completions/Decorations (cont’d)

SLAstic Approach ⊲ Meta Model

Completions/Decorations

  • Adaptation / Reconfiguration (e.g., plans, operations, capabilities, properties)
  • Measurement (e.g., workload, timing, utilization)
  • Usage (e.g., operation call frequencies, calling relationships)

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

8 / 19

slide-21
SLIDE 21

. . . (e.g., “cost” profiles)

Completions/Decorations (cont’d)

SLAstic Approach ⊲ Meta Model

Completions/Decorations

  • Adaptation / Reconfiguration (e.g., plans, operations, capabilities, properties)
  • Measurement (e.g., workload, timing, utilization)
  • Usage (e.g., operation call frequencies, calling relationships)
  • . . . — e.g., “cost” profiles (not yet implemented)

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

8 / 19

slide-22
SLIDE 22

Agenda

Extracting SLAstic Models via Dynamic Analysis

1

Introduction — Adaptive Capacity Management

2

SLAstic Approach

3

Extracting SLAstic Models via Dynamic Analysis

4

Utilizing PCM for SLAstic

5

Conclusions

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

9 / 19

slide-23
SLIDE 23

Model Extraction by Dynamic Analysis

Extracting SLAstic Models via Dynamic Analysis

1 Raw monitoring records delivered by Kieker, e.g.

  • OperationExecutionRecord (incl. timing & tracing information)
  • ResourceUtilizationRecord and MemSwapUsageRecord

2 Processing of records by SLAstic.MONITORING 1 Possible abstraction of component/operation names etc. 2 Lookup/creation of architectural entities using ModelManager 3 Transformation of raw monitoring records into monitoring events 4 Send monitoring events to complex-event processing (CEP) engine 3 Trace reconstruction 1 TraceReconstructor registers match/recognize CEP statement

to collect executions grouped by trace ID (online)

2 Send each reconstructed message trace to CEP engine 4 Update of system and usage model 1 UsageAndSystemModelUpdater registers CEP statement to collect

valid message traces

2 Process each trace and update models using ModelManager

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

10 / 19

slide-24
SLIDE 24

SPECjEnterprise2010

Model Extraction Example

Extracting SLAstic Models via Dynamic Analysis

<<execution container>> blade3 <<deployment component>> @1:..SpecBeanFactory <<deployment component>> @2:..SpecAppServlet 2 <<deployment component>> @7:..SpecServletAction 58638 <<deployment component>> @6:..Loader 247 <<deployment component>> @12:..Item 14613 <<deployment component>> @13:..ShoppingCart 6996 <<deployment component>> @17:..SpecAction 4967 <<deployment component>> @19:..SpecUtils 1255996 <<deployment component>> @25:..ItemBrowserSession 32067 <<deployment component>> @8:..MfgAuditSession <<deployment component>> @9:..SupplierAuditSession <<deployment component>> @10:..OrderAuditSession <<deployment component>> @11:..CustomerSession 1 <<deployment component>> @14:..Customer 13 1492 8076 <<deployment component>> @26:..CustomerInventory 3088 15313 <<deployment component>> @15:..OrderSession 1907 19332 3595 22 <<deployment component>> @16:..Order 4417 <<deployment component>> @18:..LargeOrderSenderSession 143 3 3341 10842 4 4422 1600 3088 <<deployment component>> @20:..WorkOrderStatus <<deployment component>> @21:..MfgSession <<deployment component>> @22:..Inventory 1084 <<deployment component>> @23:..WorkOrder 16602 <<deployment component>> @24:..WorkOrderSession 3332 3332 37286 13291 <<deployment component>> @27:..MessageSenderSession 838 <<deployment component>> @28:..SupplierSession <<deployment component>> @29:..SComponent 1752 <<deployment component>> @30:..PurchaseOrder 605 <<deployment component>> @37:..PurchaseOrderLine 542 <<deployment component>> @31:..BuyerMDB 464 <<deployment component>> @32:..BuyerSegmentCache <<deployment component>> @33:..PurchaseOrderMDB 472 36 <<deployment component>> @34:..LargerOrderMDB 1493 <<deployment component>> @35:..FulfillOrderMDB 372 <<deployment component>> @36:..SupplierDomainServlet <<deployment component>> @38:..BuyerService 542 542 523 <<deployment component>> @39:..ReceiveMDB 542 $ 58639 4 1 2 5 744 477 11799 605 464 1 452 374 372 523 542

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

11 / 19

slide-25
SLIDE 25

Utilizing PCM in SLAstic

Utilizing PCM for SLAstic

1 Simulation-based analysis

  • SLAstic.SIM as substitute for real system
  • Evaluation of approach, adaptation plans etc.

2 PCM @ Runtime

  • PCM instance decorated by SLAstic model

3 Online performance prediction (e.g., SLAstic.SIM)

Instrumented, runtime reconfigurable s/w system (simulation)

SLAstic. MONITORING SLAstic. RECONFIGURATION

SLAstic.CONTROL

SLAstic.SIM

...

Semi-automated extraction of PCM instances

1

Extraction of SLAstic instance by dyn. analysis

2

SLAstic2PCM transformation [Günther 2011]

3

Assumption: Manual refinement/calibration (offline)

SLAstic-System-Modell SLAstic-Usage-Modell

SLAstic2PCM

Ausführung durch:

  • Eclipse-Launcher
  • Kommandozeile
  • Java-API

PCM-Modell

  • ResourceType
  • Repository
  • ResourceEnvironment
  • Allocation
  • System
  • UsageModel
  • TypeRepository
  • ExecutionEnvironment
  • ComponentAssembly
  • ComponentDeployment

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

12 / 19

slide-26
SLIDE 26

SLAstic.SIM

Simulation of Reconfigurable PCM instances

Utilizing PCM for SLAstic ⊲ SLAstic.SIM

SLAstic. Monitoring SLAstic. Reconfiguration SLAstic.Control

...

instrumented, runtime reconfigurable s/w system SLAstic model

  • R. von Massow, A. van Hoorn, and W. Hasselbring. Performance simulation of runtime reconfigurable component-based

software architectures. In Proc. ECSA ’11, vol. 6903 of LNCS, pages 43–58. Springer, Sept. 2011 (As presented at Palladio Days 2010) André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

13 / 19

slide-27
SLIDE 27

SLAstic.SIM

Simulation of Reconfigurable PCM instances

Utilizing PCM for SLAstic ⊲ SLAstic.SIM

SLAstic. Monitoring SLAstic. Reconfiguration SLAstic.Control

SLAstic.SIM

monitoring reconfiguration SimulationCore IMonitoringController IReconfiguration PlanReceiver Workload traces workload Kieker. LogReplayer IMonitoring RecordReceiver ModelManager SimulationController PCM instance SLAstic model

  • Simulation driven by recorded (varying) workload
  • Simulation of PCM models with SLAstic’s reconfiguration capabilities
  • (limitations in terms of supported PCM features)

  • R. von Massow, A. van Hoorn, and W. Hasselbring. Performance simulation of runtime reconfigurable component-based

software architectures. In Proc. ECSA ’11, vol. 6903 of LNCS, pages 43–58. Springer, Sept. 2011 (As presented at Palladio Days 2010) André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

13 / 19

slide-28
SLIDE 28

SLAstic2PCM Transformation

[Günther 2011]

Utilizing PCM for SLAstic ⊲ SLAstic2PCM M2M Transformation

  • SLAstic2PCM implemented as an ATL-based M2M transformation

Kieker-FileSystem-Log SLAstic- Framework SLAstic- SystemModel SLAstic- UsageModel SLAstic2PCM PCM-Model 1 Transformation of SLAstic System Model to PCM counter parts

pretty straight-forward

SLAstic PCM TypeRepository Repository, ResourceRepository ComponentAssembly System ExecutionEnvironment ResourceEnvironment ComponentDeployment Allocation 2 Generation of RDSEFFs (detailed on next slide) and Usage Models

  • RDSEFFs: Generated from CallingRelationships and OperationCallFrequencys
  • Usage Scenario (open workload) based on

SystemProvidedInterfaceDelegationConnectorFrequencies and observation period

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

14 / 19

slide-29
SLIDE 29

Extraction of RDSEFFs (Pattern)

SLAstic2PCM Transformation (cont’d)

Utilizing PCM for SLAstic ⊲ SLAstic2PCM M2M Transformation

For each Operation

1 Create StartAction 2 Create InternalAction for initialization 3 Create LoopAction for each Interface Signature

called by Operation

1 Create StartAction + InternalAction for

initialization

2 Create ExternalCallAction 3 Create InternalAction for termination +

StopAction

4 Create InternalAction for termination 5 Create StopAction

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

15 / 19

slide-30
SLIDE 30

Extraction of RDSEFFs (Example)

SLAstic2PCM Transformation (cont’d)

Utilizing PCM for SLAstic ⊲ SLAstic2PCM M2M Transformation

1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

Absolute Haeufigkeit Relative Haeufigkeit Anzahl Aufrufe searchBook / getOffers

1 2 3 4 5 6 7 8 9 10 11 12 13 1 2 3 4 5 6 7 8 9 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5

Absolute Haeufigkeit Relative Haeufigkeit Anzahl Aufrufe searchBook / getBook

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

16 / 19

slide-31
SLIDE 31

Scalability of the Transformation

Utilizing PCM for SLAstic ⊲ SLAstic2PCM M2M Transformation

  • Kieker file system log

System Size of Monitoring Log # Operation Executions # Traces Bookstore 892 KB 6,540 1,635 JPetStore 63 MB 259,852 48,720 Customer Portal 164 MB 847,758 316,980 SPECjEnterprise 380 MB 189,4830 75,018

  • SLAstic model metrics

System # Components # Signatures # Containers # CallingRelationships # value pairs Bookstore 3 6 2 3 3 JPetStore 9 42 1 25 25 Customer Portal 11 212 4 97 174 SPECjEnterprise 39 272 1 198 463

  • Durations of SLAstic2PCM transformations

System Mean duration (seconds) Std dev. Bookstore 0.9985 0.049 JPetStore 1.177 0.043 Customer Portal 2.2608 0.032 SPECjEnterprise 4.9192 0.101 André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

17 / 19

slide-32
SLIDE 32

Conclusion

Conclusions

Summary

  • Outlined SLAstic approach: Online capacity management of CB systems
  • Architectural models used @ Runtime (PCM by decoration)
  • Extraction of SLAstic (→ SLAstic2PCM → PCM) models via dynamic analysis
  • Extraction step evaluated for larger systems already
  • Supported languages (thanks to Kieker’s language support):
  • Java,
  • .NET,
  • Visual Basic 6
  • (in progress: COBOL, . . . )

Future Work

  • Extend SLAstic2PCM to produce SLAstic/PCM decorator model
  • Basic extraction of resource demands for PCM RDSEFFs
  • Evaluate quality of extracted models
  • Resolve some of SLAstic.SIM’s limitations (e.g., PMF support in loops)

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

18 / 19

slide-33
SLIDE 33

Literature

Conclusions

  • S. Becker, H. Koziolek, and R. Reussner. The Palladio component model for model-driven performance prediction. Journal of Systems and Software, 82(1):

3–22, 2009. ISSN 0164-1212. doi: 10.1016/j.jss.2008.03.066. Special Issue: Software Performance – Modeling and Analysis. P . Clements, F. Bachmann, L. Bass, D. Garlan, J. Ivers, R. Little, R. Nord, and J. Stafford. Documenting Software Architectures: Views and Beyond. Addison-Wesley / Pearson Education, 2002. ISBN 0201703726.

  • D. Garlan, S.-W. Cheng, and B. R. Schmerl. Increasing system dependability through architecture-based self-repair. In R. de Lemos, C. Gacek, and A. B.

Romanovsky, editors, Architecting Dependable Systems, volume 2677 of Lecture Notes in Computer Science, pages 61–89. Springer, 2003. ISBN 978-3-540-40727-0. doi: 10.1007/3-540-45177-3_3.

  • I. Gorton, Y. Liu, and N. Trivedi. An extensible and lightweight architecture for adaptive server applications. Softw. Pract. Exper., 38(8):853–883, 2008. ISSN

0038-0644. doi: http://dx.doi.org/10.1002/spe.v38:8.

  • V. Grassi, R. Mirandola, and A. Sabetta. A model-driven approach to performability analysis of dynamically reconfigurable component-based systems. In

Proceedings of the 6th International Workshop on Software and Performance (WOSP ’07), pages 103–114. ACM, 2007. ISBN 1-59593-297-6. doi: 10.1145/1216993.1217011.

  • N. Günther. Modellbasierte Laufzeit-Performance-Vorhersage für komponentenbasierte Softwarearchitekturen (“Model-based online performance prediction

for component-based software architectures”, in german), Nov. 2011. Diploma Thesis, University of Kiel.

  • C. Hofmeister. Dynamic Reconfiguration of Distributed Applications. PhD thesis, University of Maryland, 1993.
  • IBM. IBM Autonomic Computing. http://www.ibm.com/autonomic/, 2010.
  • IEEE. IEEE recommended practice for architectural description of software-intensive systems—std. 1471-2000, 2000.
  • R. Jain. The Art of Computer Systems Performance Analysis. John Wiley & Sons, New York, 1991.
  • J. Kephart and D. Chess. The vision of autonomic computing. Computer, 36(1):41–50, Jan. 2003.
  • S. Kounev, F. Brosig, N. Huber, and R. Reussner. Towards self-aware performance and resource management in modern service-oriented systems. In

Proceedings of the 7th IEEE International Conference on Services Computing (SCC 2010). IEEE Computer Society, 2010.

  • J. Kramer and J. Magee. The evolving philosophers problem: Dynamic change management. IEEE Transactions on Software Engineering, 16(11):

1293–1306, 1990.

  • J. Matevska. Architekturbasierte erreichbarkeitsoptimierte Rekonfiguration komponentenbasierter Softwaresysteme zur Laufzeit. PhD thesis, Department of

Computer Science, University of Oldenburg, Oldenburg, Germany, July 2009.

  • N. Medvidovic and R. N. Taylor. A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng., 26(1):

70–93, 2000. ISSN 0098-5589. doi: 10.1109/32.825767. André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

19 / 19

slide-34
SLIDE 34

Literature (cont’d)

Conclusions

  • D. A. Menascé and V. A. Almeida. Capacity Planning for Web Services: Metrics, Models, and Methods. New Jersey: Prentice Hall, 2002. ISBN

0-13-065903-7.

  • D. A. Menascé, M. N. Bennani, and H. Ruan. On the use of online analytic performance models in self-managing and self-organizing computer systems. In

Ö. Babaoglu, M. Jelasity, A. Montresor, C. Fetzer, S. Leonardi, A. P . A. van Moorsel, and M. van Steen, editors, Self-star Properties in Complex Information Systems, volume 3460 of Lecture Notes in Computer Science, pages 128–142. Springer, 2005. ISBN 3-540-26009-9. doi: 10.1007/11428589_9.

  • R. N. Taylor, N. Medvidovic, and E. M. Dashofy. Software Architecture: Foundations, Theory and Practice. John Wiley & Sons, Inc., 2009. ISBN

978-0-470-16774-8.

  • A. van Hoorn. Online Capacity Management for Increased Resource Efficiency of Component-Based Software Systems. PhD thesis, Department of

Computer Science, University of Oldenburg, Oldenburg, Germany, 2011. work in progress.

  • A. van Hoorn, M. Rohr, A. Gul, and W. Hasselbring. An adaptation framework enabling resource-efficient operation of software systems. In N. Medvidovic

and T. Tamai, editors, Proceedings of the 2nd Warm-Up Workshop for ACM/IEEE ICSE 2010 (WUP ’09), pages 41–44. ACM, Apr. 2009a. ISBN 978-1-60558-565-9. doi: 10.1145/1527033.1527047.

  • A. van Hoorn, M. Rohr, W. Hasselbring, J. Waller, J. Ehlers, S. Frey, and D. Kieselhorst. Continuous monitoring of software services: Design and application
  • f the Kieker framework. Technical Report TR-0921, Department of Computer Science, University of Kiel, Germany, Nov. 2009b. URL

http://www.informatik.uni-kiel.de/uploads/tx_publication/vanhoorn_tr0921.pdf.

  • R. von Massow, A. van Hoorn, and W. Hasselbring. Performance simulation of runtime reconfigurable component-based software architectures. In
  • I. Crnkovic, V. Gruhn, and M. Book, editors, Proceedings of the 5th European Conference on Software Architecture (ECSA ’11), volume 6903 of

Lecture Notes in Computer Science, pages 43–58. Springer, Sept. 2011. doi: 10.1007/978-3-642-23798-0_5.

  • M. Woodside, G. Franks, and D. C. Petriu. The future of software performance engineering. In 2007 Future of Software Engineering (FOSE ’07), pages

171–187. IEEE, 2007. André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

20 / 19

slide-35
SLIDE 35

Foundations

Bonus ⊲ Foundations and Related Work

SLAstic

Software Performance Engineering Software Architecture Self-Adaptive Software Systems

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

21 / 19

slide-36
SLIDE 36

Software Architecture

Foundations (cont’d)

Bonus ⊲ Foundations and Related Work

Software Performance Engineering Software Architecture Self-Adaptive Software Systems

SLAstic Software Architecture (IEEE Def. [IEEE 2000]) “The fundamental organization of a system embodied in

  • its components,
  • their relationships to each other and to the environment,
  • and the principles guiding its design and evolution.”
  • Views & Viewpoints

[Clements et al. 2002]

  • Structural
  • Behavioral
  • ADLs

[Medvidovic and Taylor 2000, Taylor et al. 2009]

  • Architectural styles [Taylor et al. 2009]
  • Component-based
  • Service-oriented, etc.
  • Runtime reconfiguration/

Change management

[Kramer and Magee 1990, Hofmeister 1993, Matevska 2009] André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

22 / 19

slide-37
SLIDE 37

Software Performance Engineering

Foundations (cont’d)

Bonus ⊲ Foundations and Related Work

Software Performance Engineering Software Architecture Self-Adaptive Software Systems

SLAstic Software Performance Engineering [Woodside et al. 2007] “Represents the entire collection of software engineering activities and related analyses used throughout the software development cycle which are directed to meeting performance requirements.”

Performance

  • Concerned with
  • Timing
  • Resource usage
  • Metrics [Jain 1991]
  • Response time,
  • Throughput,
  • Utilization, etc.
  • Model- vs. Measurement-based
  • Capacity Planning

[Menascé and Almeida 2002]

  • SLAs/SLOs
  • Workload Characterization
  • Workload Forecasting
  • Performance Prediction

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

23 / 19

slide-38
SLIDE 38

Self-Adaptive Software Systems

Foundations (cont’d)

Bonus ⊲ Foundations and Related Work

Software Performance Engineering Software Architecture Self-Adaptive Software Systems

SLAstic IBM’s autonomic computing initiative [Kephart and Chess 2003, IBM 2010] “Systems manage themselves according to an administrator’s goals.”

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

24 / 19

slide-39
SLIDE 39

Related Work

Bonus ⊲ Foundations and Related Work

Performance Modeling of Component-Based Software Systems

  • S. Becker, H. Koziolek and R. Reussner. The Palladio component model for model-driven performance
  • prediction. JSS, 2009.
  • V. Grassi, R. Mirandola and A. Sabetta. A model-driven approach to performability analysis of

dynamically reconfigurable component-based systems. WOSP ’07, ACM, 2007. Architecture-Based Runtime Reconfiguration

  • D. Garlan, S.-W. Cheng and B. Schmerl. Increasing system dependability through architecture-based

self-repair. ADS, Springer, 2003.

  • J. Matevska. Architekturbasierte erreichbarkeitsoptimierte Rekonfiguration komponentenbasierter

Softwaresysteme zur Laufzeit, Dissertation, Dept. Comp. Sc., Univ. Oldenburg, 2009 Online Performance & Resource Management

  • A. Diaconescu and J. Murphy. Automating the performance management of component-based enterprise

systems through the use of redundancy. ASE ’05, ACM, 2005.

  • I. Gorton, Y. Liu and N. Trivedi. An extensible and lightweight architecture for adaptive server
  • applications. Softw. Pract. Exper., 2008.
  • D. A. Menascé, M. H. Bennani, and H. Ruan. On the use of online analytic performance models in

self-managing and self-organizing Computer Systems. Self-Star ’04, Springer, 2004.

  • S. Kounev, F

. Brosig, N. Huber, and R. Reussner. Towards self-aware performance and resource management in modern service-oriented systems. SCC ’10, IEEE, 2010.

André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems

  • Nov. 18, 2011 @ Palladio Days

25 / 19