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



Similar documents
Continuous Monitoring of Software Services: Design and Application of the Kieker Framework

Tool-Supported Application Performance Problem Detection and Diagnosis. André van Hoorn.

Automatic Extraction of Probabilistic Workload Specifications for Load Testing Session-Based Application Systems

Towards a Performance Model Management Repository for Component-based Enterprise Applications

Using Dynatrace Monitoring Data for Generating Performance Models of Java EE Applications

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

Microservices for Scalability

GECO: Automatic Generator-Composition for (Aspect-oriented) DSLs

A Case Study on Model-Driven and Conventional Software Development: The Palladio Editor

Model-Driven Online Capacity Management for Component-Based Software Systems

Software Adaptation Patterns for Service-Oriented Architectures

Performance Benchmarking of Application Monitoring Frameworks

Self Adaptive Software System Monitoring for Performance Anomaly Localization

Open-Source-Software als Katalysator im Technologietransfer am Beispiel des Monitoring-Frameworks

A Hierarchical Self-X SLA for Cloud Computing

Layered Queuing networks for simulating Enterprise Resource Planning systems

ExplorViz: Visual Runtime Behavior Analysis of Enterprise Application Landscapes

Workload-aware System Monitoring Using Performance Predictions Applied to a Large-scale System

A Business Driven Cloud Optimization Architecture

Self-Adaptive Performance Monitoring for Component-Based Software Systems. Jens Ehlers

An Approach to Software Architecture Description Using UML

SPEC Research Group. Sam Kounev. SPEC 2015 Annual Meeting. Austin, TX, February 5, 2015

Capturing provenance information with a workflow monitoring extension for the Kieker framework

Continual Verification of Non-Functional Properties in Cloud-Based Systems

DESIGN PATTERNS FOR SELF ADAPTIVE SYSTEMS ENGINEERING

Performance Modeling in Industry A Case Study on Storage Virtualization

Online Performance Anomaly Detection with

Capacity Planning for Event-based Systems using Automated Performance Predictions

Automated Extraction of Palladio Component Models from Running Enterprise Java Applications

Resource-Aware Applications for the Cloud

The IBM Rational Software Development Platform..Role focused tools help simplification via Separation of Concerns

Layered Dependability Modeling of an Air Traffic Control System

A STUDY OF WORKLOAD CHARACTERIZATION IN WEB BENCHMARKING TOOLS FOR WEB SERVER CLUSTERS

Statistical Inference of Software Performance Models for Parametric Performance Completions

SLA Business Management Based on Key Performance Indicators

On-demand Services Composition and Infrastructure Management

An overview to Software Architecture in Intrusion Detection System

Business Process Management Enabled by SOA

Performance Monitoring of Database Operations

EARLY PERFORMANCE PREDICTION OF WEB

Cloud Computing Architectures and Design Issues

Comparison of Request Admission Based Performance Isolation Approaches in Multi-tenant SaaS Applications

Software Configuration Management Related to Management of Distributed Systems and Services and Advanced Service Creation

Automated support for service-based software development and integration

Decentralized Planning for Self-adaptation in Multi-cloud Environment

A Model-driven Approach to Predictive Non Functional Analysis of Component-based Systems

How To Model A System

Figure 1: Illustration of service management conceptual framework

Capacity Plan. Template. Version X.x October 11, 2012

KLAPER: an Intermediate Language for Model-Driven Predictive Analysis of Performance and Reliability

Towards Management of SLA-Aware Business Processes Based on Key Performance Indicators

Curriculum Vitae. Zhenchang Xing

Transcription:

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

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

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

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

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 B 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

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

SLAstic Runtime Reconfiguration Operations SLAstic Approach Overview 1 (De-)Replication of Software Components C 2 C 2 C 2 C 1 C 3 C 1 C 3 2 Migration of Software Components C 2 C 2 C 3 C 1 C 3 C 1 3 (De-)Allocation of Execution Containers N 1... N m N m+1 N 1... N m André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 4 / 19

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

Online Capacity Management Framework SLAstic Approach Overview instrumented, runtime reconfigurable s/w system... instrumentation SLAstic model SLAstic. MONITORING raw monitoring records monitoring events SLAstic.CONTROL SLAstic. RECONFIGURATION reconfiguration actions reconfiguration plans architecture technology initialization extraction SLAstic model Analysis online adaptation engine André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 5 / 19

M SLAstic.MONITORING utilizes Kieker [van Hoorn et al. 2009b] Online Capacity Management Framework (cont d) SLAstic Approach Overview SLAstic. MONITORING e.g., AOP-based method call interception M e.g., trace information, workload, response times, resource utilization, loop counts e.g., architecture reconstruction, performance evaluation, online adaptation control, failure diagnosis M M M M M Analysis Plug-In Kieker.Monitoring Monitoring Record e.g., file system, database, Kieker.Analysis http://kieker.sourceforge.net message-oriented middleware Monitoring Log/Stream André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 5 / 19

SLAstic.CONTROL (zoom-in) Online Capacity Management Framework (cont d) SLAstic Approach Overview SLAstic.CONTROL monitoring events Model Manager Model Updater SLAstic model reconfiguration plans Analysis Performance Evaluator Workload Forecaster Performance Predictor Adaptation Planner André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 5 / 19

Usage Scenarios of the SLAstic Framework Online Capacity Management Framework (cont d) SLAstic Approach Overview Monitoring log Monitoring log Monitoring log from from from case study case study case study JMeter/ Markov4JMeter Workload Generator Kieker. LogReplayer Log Replayer... Kieker. LogReplayer(RT) (Real time) Log Replayer SLAstic.SIM... Instrumented, runtime reconfigurable s/w system (or lab system) Instrumented, runtime reconfigurable s/w system (simulation) SLAstic. MONITORING SLAstic. RECONFIGURATION SLAstic. MONITORING SLAstic. RECONFIGURATION SLAstic. MONITORING SLAstic. RECONFIGURATION SLAstic.CONTROL SLAstic.CONTROL SLAstic.CONTROL 1 Online analysis (production/lab system) 2 Offline analysis (log replay) 3 Simulation-based analysis André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 6 / 19

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) <<Interface>> IBookstore <<Provides>> Book searchbook() <<ConnectorType>> ConnectorTIBook <<ComponentType>> BookstoreT <<Requires>> <<Interface>> ICatalog Book getbook() <<Provides>> <<ComponentType>> CatalogT <<ConnectorType>> ConnectorTICatalog Example type repository <<ExecutionContainerType>> WebSrvT <<ExecutionContainerType>> AppSrvT André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 7 / 19

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) <<AssemblyComponent>> bookstore <<ComponentType>> BookstoreT <<AssemblyConnector>> <<ConnectorType>> ConnectorTICatalog <<AssemblyComponent>> catalog <<ComponentType>> CatalogT Example component assembly André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 7 / 19

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>> web1:websrvt <<ExecutionContainer>> app1:appsrvt <<ExecutionContainer>> web2:websrvt <<ExecutionContainer>> app2:appsrvt Example execution environment André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 7 / 19

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>> web1:websrvt <<AssemblyComponent>> bookstore <<ComponentType>> BookstoreT <<ExecutionContainer>> app1:appsrvt <<AssemblyComponent>> catalog <<ComponentType>> CatalogT <<ExecutionContainer>> web2:websrvt <<AssemblyComponent>> bookstore <<ComponentType>> BookstoreT <<ExecutionContainer>> app2:appsrvt <<AssemblyComponent>> catalog <<ComponentType>> CatalogT 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

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 - TypeRepository - ExecutionEnvironment - ComponentAssembly - ComponentDeployment SLAstic-Usage-Modell SLAstic2PCM Ausführung durch: - Eclipse-Launcher - Kommandozeile - Java-API PCM-Modell - ResourceType - Repository - ResourceEnvironment - Allocation - System - UsageModel 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

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

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

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

... (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

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

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

SPECjEnterprise2010 Model Extraction Example Extracting SLAstic Models via Dynamic Analysis 477 744 5 <<execution container>> blade3 542 @21:..MfgSession $ 374 464 523 58639 4 1 2 542 11799 452 @34:..LargerOrderMDB @31:..BuyerMDB @38:..BuyerService 3332 @39:..ReceiveMDB @27:..MessageSenderSession 838 37286 @24:..WorkOrderSession 3332 13291 1493 1752 @28:..SupplierSession 464 542 542 @33:..PurchaseOrderMDB 605 472 523 @36:..SupplierDomainServlet 36 542 @2:..SpecAppServlet 2 58638 @6:..Loader 32067 @8:..MfgAuditSession @23:..WorkOrder @29:..SComponent @37:..PurchaseOrderLine @30:..PurchaseOrder @25:..ItemBrowserSession @32:..BuyerSegmentCache 1084 @10:..OrderAuditSession @22:..Inventory 16602 @20:..WorkOrderStatus 14613 @1:..SpecBeanFactory 3 3341 @35:..FulfillOrderMDB 1 4422 10842 372 1907 13 @11:..CustomerSession @13:..ShoppingCart 22 8076 1492 3088 15313 @14:..Customer @12:..Item @9:..SupplierAuditSession 605 @7:..SpecServletAction 1255996 4967 @19:..SpecUtils 247 1600 4 @15:..OrderSession 3595 143 4417 19332 @18:..LargeOrderSenderSession @26:..CustomerInventory @17:..SpecAction 6996 @16:..Order 1 372 3088 André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 11 / 19

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.SIM... SLAstic. RECONFIGURATION SLAstic.CONTROL Semi-automated extraction of PCM instances 1 Extraction of SLAstic instance by dyn. analysis 2 SLAstic2PCM transformation [Günther 2011] SLAstic-System-Modell - TypeRepository - ExecutionEnvironment - ComponentAssembly SLAstic2PCM Ausführung durch: - Eclipse-Launcher PCM-Modell - ResourceType - Repository - ResourceEnvironment 3 Assumption: Manual refinement/calibration (offline) - ComponentDeployment SLAstic-Usage-Modell - Kommandozeile - Java-API - Allocation - System - UsageModel André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 12 / 19

SLAstic.SIM Simulation of Reconfigurable PCM instances Utilizing PCM for SLAstic SLAstic.SIM instrumented, runtime reconfigurable s/w system... SLAstic. Monitoring SLAstic. Reconfiguration SLAstic model SLAstic.Control 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

SLAstic.SIM Simulation of Reconfigurable PCM instances Utilizing PCM for SLAstic SLAstic.SIM SLAstic.SIM SimulationController ModelManager SimulationCore workload IMonitoring RecordReceiver Kieker. LogReplayer monitoring IMonitoringController SLAstic. Monitoring reconfiguration IReconfiguration PlanReceiver SLAstic. Reconfiguration Workload traces PCM instance SLAstic model SLAstic.Control 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

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- UsageModel SLAstic- SystemModel SLAstic2PCM PCM-Model 1 Transformation of SLAstic System Model to PCM counter parts pretty straight-forward SLAstic TypeRepository ComponentAssembly ExecutionEnvironment ComponentDeployment PCM Repository, ResourceRepository System ResourceEnvironment 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

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

Extraction of RDSEFFs (Example) SLAstic2PCM Transformation (cont d) Utilizing PCM for SLAstic SLAstic2PCM M2M Transformation searchbook / getoffers searchbook / getbook 13 13 0.5 12 12 0.45 11 11 0.5 0.45 Absolute Haeufigkeit 10 9 8 7 6 5 4 3 2 0.4 0.35 0.3 0.25 0.2 0.15 0.1 Relative Haeufigkeit Absolute Haeufigkeit 10 9 8 7 6 5 4 3 2 0.4 0.35 0.3 0.25 0.2 0.15 0.1 Relative Haeufigkeit 1 0.05 1 0.05 0 0 1 2 3 4 5 6 7 8 9 0 Anzahl Aufrufe 0 0 1 2 3 4 5 6 7 8 9 0 Anzahl Aufrufe André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 16 / 19

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

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

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

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 of 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

Foundations Bonus Foundations and Related Work Software Performance Engineering Self-Adaptive Software Systems SLAstic Software Architecture André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 21 / 19

Software Architecture Foundations (cont d) Bonus Foundations and Related Work Software Performance Engineering SLAstic Software Architecture Software Architecture (IEEE Def. [IEEE 2000]) Self-Adaptive Software Systems 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

Software Performance Engineering Foundations (cont d) Bonus Foundations and Related Work Software Performance Engineering SLAstic Self-Adaptive Software Systems Performance Concerned with Timing Resource usage Software Architecture 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. 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

Self-Adaptive Software Systems Foundations (cont d) Bonus Foundations and Related Work Software Performance Engineering Self-Adaptive Software Systems SLAstic Software Architecture 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

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