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