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
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
Samuel Kounev University of Würzburg http://se.informatik.uni-wuerzburg.de/ Symposium on Software Performance, Stuttgart, Nov 27, 2014
2
Nikolaus Huber Fabian Brosig
3
Performance Models for Online Performance
Technology (KIT), Karlsruhe, Germany, 2014. [ http | http ]
Resource Management in Dynamic IT Service
Technology (KIT), Karlsruhe, Germany, 2014. [ http | http ]
4
SLAs
Introduction
Tool Chain Summary Language
5
VMM Host VM VM VM VMM Host VM VM VM VMM Host VM VM VM OS JVM Java EE EAR EAR
Complex Software Stacks
Applications
Resource Allocation End-to-end QoS metrics Application SLAs Resource Allocations in Each Tier & Each Layer
Introduction
Tool Chain Summary Language
6
Introduction
Tool Chain Summary Language
7
DML Model
Architecture-level Performance Model Application Architecture Model Resource Landscape Model
Usage Profile
Adaptation Points Model
Degrees-of-Freedom Software Infrastructure
Adaptation Process Model
Strategies Tactics Actions
Introduction
Tool Chain Summary Language
8
Introduction
Tool Chain Summary Language
9
Autonomic Decision Making
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
Tool Chain Summary Language
10
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
Tool Chain Summary Language
11
Introduction
Tool Chain Summary Language
12
Introduction
Tool Chain Summary Language
13
Introduction
Tool Chain Summary Language
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;
Introduction
Tool Chain Summary Language
15
Introduction
Tool Chain Summary Language
16
Introduction
Tool Chain Summary Language
17
Introduction
Tool Chain Summary Language
18
history now near future workload intensity Introduction
Tool Chain Summary Language
19
Introduction
Tool Chain Summary Language
20
Introduction
Tool Chain Summary Language
21
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
Maximum likelihood estimation Independent component analysis
Regression Analysis
MARS CART M5 trees Cubist forests Quantile regression forests Support vector machines
Descriptive Architecture‐level Models → DML
Predictive Performance Models