The Descartes Modeling Language: Status Quo Samuel Kounev University of Würzburg http://se.informatik.uni-wuerzburg.de/ Symposium on Software Performance, Stuttgart, Nov 27, 2014
Nikolaus Huber Fabian Brosig Credits S. Kounev 2
Main References Fabian Brosig . Architecture-Level Software Performance Models for Online Performance Prediction . PhD thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, 2014. [ http | http ] Nikolaus Huber . Autonomic Performance-Aware Resource Management in Dynamic IT Service Infrastructures . PhD thesis, Karlsruhe Institute of Technology (KIT), Karlsruhe, Germany, 2014. [ http | http ] 3 S. Kounev
Elastic Resource Provisioning SLAs Load Variations Challenges When exactly should a reconfiguration be triggered? Which particular resources should be scaled? How quickly and at what granularity? 4 S. Kounev Introduction Language Tool Chain Summary
Semantic Gap Problem EAR EAR Applications Java EE • Multiple tiers VM VM VM • Multiple resource types JVM VMM OS Host VM VM VM Complex Software Stacks • Multiple layers VMM • Heterogeneous Resource Host Allocation VM VM VM VMM Host Resource Allocations in End-to-end QoS metrics ? Application SLAs Each Tier & Each Layer 5 S. Kounev Introduction Language Tool Chain Summary
Descartes Research Group Modeling methods for predicting at run-time the effect of dynamic changes on the system Quality-of-Service (QoS) Current focus: availability and performance (response time, throughput and resource/energy efficiency) Model-based algorithms and techniques for autonomic system adaptation during operation Goal: End-to-end QoS guarantees High resource/energy efficiency Low operating costs 6 S. Kounev Introduction Language Tool Chain Summary
Descartes Modeling Language Adaptation Process Model Strategies Tactics Actions Adaptation Points Model DML Model Architecture-level Performance Model Application Architecture Model Software Usage Resource Landscape Model Profile Degrees-of-Freedom Infrastructure 7 Language S. Kounev Introduction Tool Chain Summary
Summary http://descartes.tools/dml Tool Chain DML Specification Language Introduction S. Kounev 8
Online Performance Prediction Online Performance Architecture-Level Prediction Performance Model <<FineGrainedBehavior>> IGateway.predict() <<InternalAction>> <<BranchAction>> parsePredictionJobs doLoadBalancing Probability: 0.5 Probability: 0.5 <<InternalAction>> schedulePredictionJobs <<ExternalCallAction>> <<ExternalCallAction>> <<ParametricResourceDemand>> PredictionServerA.predict PredictionServerB.predict ResourceType="CPU" Unit="CpuCycles" Specfication="(0.5506 + (7.943 * 10^(-8) * recordsize)) * 2700" <<implements>> IGateway train() predict() <<DataCenter>> results() BYDC <<ComputingInfrastructure>> <<ComputingInfrastructure>> desc1 desc2 Gateway # VM-Instances Server <<ConfigurationSpecification>> ResourceType="CPU" <<UsageProfile>> ProcessingRate=2.7GHz UserPopulation=10 Cores=2 = (1...16) ThinkTime=0.0 Service="train" 1 Gbit Ethernet RecordSize=500,000 <<ComputingInfrastructure>> <<ComputingInfrastructure>> desc3 desc4 #vCPU = (2...4) Prediction Database ServerA IPredictionServer IDatabase train() Prediction write() predict() query() ServerB <ConfigurationSpecification>> <<ModelEntity ResourceType="CPU" ConfigRange>> Autonomic Decision Making ProcessingRate=2.7GHz minInstances=1 Cores=8 maxInstances=16 9 Language S. Kounev Introduction Tool Chain Summary
Model-Based System Adaptation Adaptation on Adaptation Adaptation Problem the Model Impact Execution on Anticipation Level Prediction Real System Online Perf. uses Prediction adapts Load Forecasting adapts Adaptation Process Model Architecture-Level Performance Model uses describes System 10 Language S. Kounev Introduction Tool Chain Summary
Summary http://descartes.tools Tool Chain Descartes Tool Chain Language Introduction S. Kounev 11
Summary Tool Chain http://descartes.tools Language Introduction S. Kounev 12
DML Bench Editors Textual and graphical editors for DML models Solvers Solvers for conducting performance prediction S/T/A Adaptation Framework Execution of adaptation process on the model level http://descartes.tools/dml_bench 13 S. Kounev Introduction Language Tool Chain Summary
DQL (Descartes Query Language) Performance Example of a Query y performance query specified with DQL Model SELECT s.avgResponseTime, Parameterization app.utilization, dbs.utilization CONSTRAINED AS FAST Model FOR RESOURCE Analysis ‘ApplicationServer’ AS app, RESOURCE ‘DBServer’ AS dbs, SERVICE ‘processOrder’ AS s; Query Results http://descartes.tools/dql 14 S. Kounev Introduction Language Tool Chain Summary
DNI - Descartes Network Infrastructure Modeling Language for perf. modeling of data center networks network topology, switches, routers, virtual machines, network protocols, routes, flow-based configuration,... Model solvers based on simulation (OMNeT) http://descartes.tools/dni 15 S. Kounev Introduction Language Tool Chain Summary
LibReDE Library for Resource Demand Estimation Ready-to-use implementations of estimation approaches Comparison of the accuracy of different approaches Selection of a suitable approach for a given scenario http://descartes.tools/librede 16 S. Kounev Introduction Language Tool Chain Summary
LIMBO Load Intensity Modeling Tool Automated model extraction from recorded traces Creation and composition of custom models Emulation of job arrivals for load generation http://descartes.tools/limbo 17 S. Kounev Introduction Language Tool Chain Summary
WCF Workload Classification & Forecasting Tool Use of multiple alternative forecasting methods in parallel Selection of method based on its accuracy in the recent past workload intensity history now near future http://descartes.tools/w cf 18 S. Kounev Introduction Language Tool Chain Summary
BUNGEE Framework for benchmarking elasticity Current focus: IaaS cloud platforms http://descartes.tools/bungee 19 S. Kounev Introduction Language Tool Chain Summary
Summary Descartes Tool Chain DML Bench - Editors, solvers and adaptation framework DQL – Declarative query language DNI – Descartes network infrastructure modeling LibReDE - Library for resource demand estimation LIMBO – Load intensity modeling tool WCF – Workload classification & forecasting tool BUNGEE - Framework for benchmarking elasticity 20 S. Kounev Introduction Language Tool Chain Summary
http://w w w.descartes-research.net http://descartes.tools Questions? S. Kounev 21
Employed Modeling & Analysis Methods Resource Descriptive Workload Regression Demand Architecture ‐ level Models → DML Analysis Forecasting Estimation • OMG Meta Object Facility (MOF) Regression ‐ • MOF ‐ based meta ‐ models MARS AR(I)MA based • (UML MARTE) techniques • (UML SPT) CART Extended Kalman exp. filter smoothing Predictive Performance Models M5 trees • Bounding techniques Nonlinear tBATS optimization • Operational analysis Cubist • Statistical regression models forests Croston’s Maximum • Stochastic process algebras method likelihood • (Extended) queueing networks Quantile estimation regression Cubic • Layered queueing networks forests smoothing Independent • Queueing Petri nets splines component Support • Machine learning ‐ based models analysis vector Neural • Detailed simulation models machines network ‐ based S. Kounev
Recommend
More recommend