The Descartes Modeling Language: Status Quo Samuel Kounev - - PowerPoint PPT Presentation

the descartes modeling language status quo
SMART_READER_LITE
LIVE PREVIEW

The Descartes Modeling Language: Status Quo Samuel Kounev - - PowerPoint PPT Presentation

The Descartes Modeling Language: Status Quo Samuel Kounev University of Wrzburg http://se.informatik.uni-wuerzburg.de/ Symposium on Software Performance, Stuttgart, Nov 27, 2014 Nikolaus Huber Fabian Brosig Credits S. Kounev 2 Main


slide-1
SLIDE 1

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

slide-2
SLIDE 2

2

Credits

Nikolaus Huber Fabian Brosig

  • S. Kounev
slide-3
SLIDE 3

3

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 ]

  • S. Kounev
slide-4
SLIDE 4

4

Elastic Resource Provisioning

Load Variations

SLAs

Challenges

  • When exactly should a reconfiguration be triggered?
  • Which particular resources should be scaled?
  • How quickly and at what granularity?

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-5
SLIDE 5

5

Semantic Gap Problem

VMM Host VM VM VM VMM Host VM VM VM VMM Host VM VM VM OS JVM Java EE EAR EAR

Complex Software Stacks

  • Multiple layers
  • Heterogeneous

Applications

  • Multiple tiers
  • Multiple resource types

Resource Allocation End-to-end QoS metrics Application SLAs Resource Allocations in Each Tier & Each Layer

?

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-6
SLIDE 6

6

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

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-7
SLIDE 7

7

DML Model

Architecture-level Performance Model Application Architecture Model Resource Landscape Model

Usage Profile

Adaptation Points Model

Degrees-of-Freedom Software Infrastructure

Descartes Modeling Language

Adaptation Process Model

Strategies Tactics Actions

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-8
SLIDE 8

8

DML Specification

http://descartes.tools/dml

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-9
SLIDE 9

9

Autonomic Decision Making

Online Performance Prediction

Architecture-Level Performance Model

<<DataCenter>> BYDC <<ComputingInfrastructure>> desc2 <<FineGrainedBehavior>> IGateway.predict()

<<implements>>

<<ComputingInfrastructure>> desc1 <<ComputingInfrastructure>> desc4 Database Gateway Server <<ComputingInfrastructure>> desc3 Prediction ServerA Prediction ServerB

IGateway train() predict() results() IDatabase write() query() IPredictionServer train() predict() <<ConfigurationSpecification>> ResourceType="CPU" ProcessingRate=2.7GHz Cores=2 <ConfigurationSpecification>> ResourceType="CPU" ProcessingRate=2.7GHz Cores=8 <<UsageProfile>> UserPopulation=10 ThinkTime=0.0 Service="train" RecordSize=500,000 <<BranchAction>> doLoadBalancing Probability: 0.5 <<ExternalCallAction>> PredictionServerA.predict Probability: 0.5 <<ExternalCallAction>> PredictionServerB.predict <<InternalAction>> parsePredictionJobs <<InternalAction>> schedulePredictionJobs <<ParametricResourceDemand>> ResourceType="CPU" Unit="CpuCycles" Specfication="(0.5506 + (7.943 * 10^(-8) * recordsize)) * 2700" <<ModelEntity ConfigRange>> minInstances=1 maxInstances=16 1 Gbit Ethernet

Online Performance Prediction

#vCPU = (2...4) # VM-Instances = (1...16)

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-10
SLIDE 10

10

Model-Based System Adaptation

System Adaptation Process Model Architecture-Level Performance Model describes Load Forecasting adapts Online Perf. Prediction uses uses Adaptation Impact Prediction Adaptation on the Model Level Problem Anticipation Adaptation Execution on Real System adapts

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-11
SLIDE 11

11

Descartes Tool Chain

http://descartes.tools

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-12
SLIDE 12

12

http://descartes.tools

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-13
SLIDE 13

13

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

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-14
SLIDE 14

14

y Performance Query Model Parameterization Model Analysis Query Results

Example of a performance query specified with DQL

SELECT s.avgResponseTime, app.utilization, dbs.utilization CONSTRAINED AS FAST FOR RESOURCE ‘ApplicationServer’ AS app, RESOURCE ‘DBServer’ AS dbs, SERVICE ‘processOrder’ AS s;

DQL (Descartes Query Language)

http://descartes.tools/dql

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-15
SLIDE 15

15

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

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-16
SLIDE 16

16

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

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-17
SLIDE 17

17

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

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-18
SLIDE 18

18

WCF

  • Workload Classification & Forecasting Tool
  • Use of multiple alternative forecasting methods in parallel
  • Selection of method based on its accuracy in the recent past

http://descartes.tools/w cf

history now near future workload intensity Introduction

  • S. Kounev

Tool Chain Summary Language

slide-19
SLIDE 19

19

BUNGEE

  • Framework for benchmarking elasticity
  • Current focus: IaaS cloud platforms

http://descartes.tools/bungee

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-20
SLIDE 20

20

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

Introduction

  • S. Kounev

Tool Chain Summary Language

slide-21
SLIDE 21

21

Questions?

http://w w w.descartes-research.net http://descartes.tools

  • S. Kounev
slide-22
SLIDE 22

Workload Forecasting

AR(I)MA Extended exp. smoothing tBATS Croston’s method Cubic smoothing splines Neural network‐ based

Resource Demand Estimation

Regression‐ based techniques Kalman filter Nonlinear

  • ptimization

Maximum likelihood estimation Independent component analysis

Regression Analysis

MARS CART M5 trees Cubist forests Quantile regression forests Support vector machines

  • OMG Meta Object Facility (MOF)
  • MOF‐based meta‐models
  • (UML MARTE)
  • (UML SPT)

Descriptive Architecture‐level Models → DML

  • Bounding techniques
  • Operational analysis
  • Statistical regression models
  • Stochastic process algebras
  • (Extended) queueing networks
  • Layered queueing networks
  • Queueing Petri nets
  • Machine learning‐based models
  • Detailed simulation models

Predictive Performance Models

Employed Modeling & Analysis Methods

  • S. Kounev