advise - a framework for evaluating cloud service elasticity behavior - best paper award
DESCRIPTION
Presentation given at ICSOC 2014, describing ADVISE framework for estimating elasticity behavior, in time, for different cloud service parts. BEST PAPER AWARD - http://link.springer.com/chapter/10.1007/978-3-662-45391-9_19 ADVISE webpage: http://tuwiendsg.github.io/ADVISE/TRANSCRIPT
ADVISE: a Framework for Evaluating
Cloud Service Elasticity Behavior
Georgiana Copil1, Demetris Trihinas
2, Hong−Linh Truong1, Daniel Moldovan
1,
George Pallis2, Schahram Dustdar
1, Marios Dikaiakos
2
1Distributed Systems Group, Vienna University of Technology
2Computer Science Department, University of Cyprus
12th International Conference on Service Oriented Computing
ICSOC 2014, 5 November, Paris 2
Overview
Motivation
Evaluating Cloud Service Behavior
– Learning process
– Determining expected elasticity behavior
Experiments
Conclusions and Future Work
ICSOC 2014, 5 November, Paris 3
Motivation – Cloud service runtime evolution
Complex
Cloud
Service
Elastic
Cloud
Service
(running)Deployment
process
Elasticity
control
process
Elasticity Control
Processes
What would be
the elasticity
behavior?
Elasticity
requirements
Elasticity controller
ICSOC 2014, 5 November, Paris 4
Motivation – Cloud service runtime evolution
Elasticity control
process enforced
now
Which will be the behavior?
ICSOC 2014, 5 November, Paris 5
Motivation – Cloud service runtime evolution
Possible requirements
violations
Elasticity control
process enforcedExpected impact
Expected cool-off
period
now
Which will be the behavior?
Which elasticity control process is most appropriate?
How a control process will affect metrics, e.g., throughput, of the
overall service and individually on each part of the cloud service?
ICSOC 2014, 5 November, Paris 6
Motivation – Cloud service behavior
Cloud service behavior is complex and can depend on:
– The structure of the cloud service
– The runtime resources used
– The workload of the cloud service
– The control processes enforced, e.g., by the controller
Capturing & using these types of information for
evaluating elasticity behavior
Service
Topology 1
Unit 1
Unit 2
Topology 2
Unit 3
Unit 4
𝑉𝑀𝑥1 𝑉𝑀𝑥2𝑉𝑀𝑥3 𝑉𝑀𝑥𝑛
ICSOC 2014, 5 November, Paris 7
Approach
Input:
– Cloud service structure
– Monitoring information of different service parts (e.g., service
units, service topologies)
– Elasticity control process 𝐸𝐶𝑃𝑖
Expected output:
– Metrics evolution, in time, for different service parts and 𝐸𝐶𝑃𝑠
Main mechanism:
– Creating behavior clusters
– Computing closest behavior centroids
ICSOC 2014, 5 November, Paris 8
Gathering information
Select relevant timeseries where 𝐸𝐶𝑃𝑖 was enforced before
𝐸𝐶𝑃𝑖 enforcement
Metric measurement
Relevant timeseries
ICSOC 2014, 5 November, Paris 9
Clustering elasticity behaviors
Transform relevant timeseries to multi-dimensional
points
Time𝑡1 𝑡2 𝑡𝑛…
Metric
𝑚𝑥
𝑀𝑒𝑡𝑟𝑖𝑐𝑉𝑎𝑙 (𝑡1)
𝑀𝑒𝑡𝑟𝑖𝑐𝑉𝑎𝑙 (𝑡2)
𝑀𝑒𝑡𝑟𝑖𝑐𝑉𝑎𝑙 (𝑡3)
𝑀𝑒𝑡𝑟𝑖𝑐𝑉𝑎𝑙 (𝑡4)
…
𝑀𝑒𝑡𝑟𝑖𝑐𝑉𝑎𝑙 (𝑡𝑛)
Behavior Point
BP
K-means𝐶𝑙𝑢𝑠𝑡𝑒𝑟1𝑚𝑥
𝐶𝑙𝑢𝑠𝑡𝑒𝑟2𝑚𝑥
𝐶𝑙𝑢𝑠𝑡𝑒𝑟𝑐 𝑚𝑥𝐶1𝑚𝑥
𝐶2𝑚𝑥
𝐶𝑐 𝑚𝑥
ICSOC 2014, 5 November, Paris 10
Computing expected behavior
𝐶𝑙𝑢𝑠𝑡𝑒𝑟1𝑚𝑥
𝐶1𝑚𝑥
𝐶𝑙𝑢𝑠𝑡𝑒𝑟2𝑚𝑥
𝐶2𝑚𝑥
𝐶𝑙𝑢𝑠𝑡𝑒𝑟1𝑚𝑦
𝐶1𝑚𝑦
𝐶𝑙𝑢𝑠𝑡𝑒𝑟𝑝 𝑚𝑦
𝐶𝑝𝑚𝑦
𝐶𝑙𝑢𝑠𝑡𝑒𝑟1𝑚𝑥 𝐶𝑙𝑢𝑠𝑡𝑒𝑟2𝑚𝑥𝐶𝑙𝑢𝑠𝑡𝑒𝑟𝑟 𝑚𝑥
𝐶𝑙𝑢𝑠𝑡𝑒𝑟1𝑚𝑦a b -
𝐶𝑙𝑢𝑠𝑡𝑒𝑟𝑝 𝑚𝑦c - d
Co-occurrence matrix
Current values
𝐵𝑃𝑚𝑦𝐵𝑃𝑚𝑥
Compute centroids
closest to the 𝐵𝑃𝑖
𝐶𝑝𝑚𝑦
𝐶1𝑚𝑥
Transform
to timeseries
𝑚𝑥𝑚𝑦
𝐶𝑙𝑢𝑠𝑡𝑒𝑟𝑟 𝑚𝑥
𝐶𝑟 𝑚𝑥
ICSOC 2014, 5 November, Paris 11
Experiment Settings [1/3]
Setting:
– M2M service
– Video Service
ICSOC 2014, 5 November, Paris 12
Experiment Settings [2/3]
Setting:
– Running on public Flexiant cloud FCO
– MELA & JCatascopia for monitoring cloud services
– Randomly apply ECPs of random type for collecting behavioral
information
– “Interesting” metrics
ICSOC 2014, 5 November, Paris 13
Experiment Settings [3/3]
ICSOC 2014, 5 November, Paris 14
Experiments – Video Service
Video Service – effect of 𝐸𝐶𝑃1 on Application Server
𝐸𝐶𝑃1 - scale in application server tier – select instance to remove,
stop the video streaming service, remove instance from load
balancer, stop JCatascopia monitoring agent, delete instance
ICSOC 2014, 5 November, Paris 15
Experiments – M2M Service [1/2]
M2M Service – effect of 𝐸𝐶𝑃7 on the entire cloud service
𝐸𝐶𝑃7 - scale in data node service unit – copy data from the instance
to be removed, remove recursively virtual machine
ICSOC 2014, 5 November, Paris 16
Experiments – M2M Service [2/2]
M2M Service – effect on Data End Controller of enforcing 𝐸𝐶𝑃8𝐸𝐶𝑃8 - scale out data node service unit – create new network
interface, create new instance, assign token to node, set cluster
controller
ICSOC 2014, 5 November, Paris 17
Experiments –
Quality of Results
𝑉𝑎𝑟𝑖𝑎𝑛𝑐𝑒𝑚
= 𝑛𝑏𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑖𝑜𝑛𝑠 𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑖𝑜𝑛𝑆𝑖𝑧𝑒(𝑒𝑠𝑡𝑖𝑚𝑎𝑡𝑒𝑑𝑀𝑒𝑡𝑟𝑖𝑐𝑚 − 𝑜𝑏𝑠𝑒𝑟𝑣𝑒𝑑𝑀𝑒𝑡𝑟𝑖𝑐𝑚)
2
𝑛𝑏𝐸𝑠𝑡𝑖𝑚𝑎𝑡𝑖𝑜𝑛𝑠 − 1
The more random the workload, of the service,
the more difficult to estimate the behavior Lower abstraction layer
=> better estimations
Complex,
unpredictable
metrics => very low
degree of accuracy
ICSOC 2014, 5 November, Paris 18
Conclusions and Future Work
Conclusions
– When controlling a complex cloud service, we need to consider
the impact elasticity control processes have on different service
parts
– ADVISE is indeed able to "advise" elasticity controllers about
cloud service behavior
Future work
– Integrating with rSYBL (https://github.com/tuwiendsg/rSYBL)
– Adapting the control mechanisms of rSYBL to use such
information
ADVISE
– More experiments available at http://tuwiendsg.github.io/ADVISE
– Prototype https://github.com/tuwiendsg/ADVISE
ICSOC 2014, 5 November, Paris 19
Thank you!
Georgiana Copil
[email protected]://dsg.tuwien.ac.at/staff/ecopil/
Distributed Systems GroupVienna University of Technology
Austria