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 ⊲ 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 Introduction — Adaptive Capacity Management 1 SLAstic Approach 2 Extracting SLAstic Models via Dynamic Analysis 3 Utilizing PCM for SLAstic 4 Conclusions 5 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 1 C 3 C 3 2 Migration of Software Components C 2 C 2 C 3 C 3 C 1 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 technology raw reconfiguration monitoring actions records SLAstic. SLAstic. MONITORING RECONFIGURATION architecture reconfiguration monitoring SLAstic plans events model SLAstic.CONTROL Analysis initialization SLAstic model extraction online adaptation engine André van Hoorn (CAU Kiel) PCM for Online Capacity Management of C-B Systems Nov. 18, 2011 @ Palladio Days 5 / 19
SLAstic.MONITORING utilizes Kieker [van Hoorn et al. 2009b] Online Capacity Management Framework (cont’d) SLAstic Approach ⊲ Overview instrumented, runtime reconfigurable s/w system ... instrumentation technology raw reconfiguration monitoring actions records SLAstic. SLAstic. RECONFIGURATION MONITORING architecture reconfiguration monitoring SLAstic plans e.g., trace information, workload, response events e.g., AOP-based model times, resource utilization, loop counts e.g., architecture reconstruction, method call interception performance evaluation, online adaptation control, failure diagnosis M SLAstic.CONTROL M M M M M Analysis Plug-In M Monitoring Analysis http://kieker.sourceforge.net initialization Record SLAstic Kieker.Monitoring Kieker.Analysis model e.g., file system, database, extraction message-oriented middleware Monitoring Log/Stream online adaptation engine 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 instrumented, runtime reconfigurable s/w system ... instrumentation SLAstic.CONTROL technology raw reconfiguration monitoring monitoring Model Manager actions events records SLAstic. SLAstic. reconfi- MONITORING RECONFIGURATION Model SLAstic guration Updater model plans architecture reconfiguration monitoring SLAstic plans events model Analysis SLAstic.CONTROL Performance Workload Performance Adaptation Evaluator Forecaster Predictor Planner Analysis initialization SLAstic model extraction online adaptation engine 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/ Kieker. Markov4JMeter LogReplayer Workload Generator Log Replayer SLAstic.SIM Kieker. LogReplayer(RT) ... ... (Real time) Log Replayer Instrumented, runtime reconfigurable Instrumented, runtime reconfigurable s/w system (or lab system) s/w system (simulation) SLAstic. SLAstic. SLAstic. SLAstic. SLAstic. SLAstic. MONITORING RECONFIGURATION MONITORING RECONFIGURATION MONITORING 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) <<Provides>> <<ComponentType>> BookstoreT <<ExecutionContainerType>> WebSrvT <<Requires>> <<ComponentType>> <<Provides>> <<Interface>> CatalogT IBookstore Book searchBook() <<ExecutionContainerType>> <<Interface>> <<ConnectorType>> AppSrvT ICatalog ConnectorTICatalog <<ConnectorType>> ConnectorTIBook Book getBook() Example type repository 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>> <<AssemblyComponent>> <<AssemblyConnector>> bookstore catalog <<ConnectorType>> <<ComponentType>> <<ComponentType>> ConnectorTICatalog BookstoreT 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>> <<ExecutionContainer>> web1:WebSrvT app1:AppSrvT <<ExecutionContainer>> <<ExecutionContainer>> web2:WebSrvT 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
Recommend
More recommend