on analyzing elasticity relationships of cloud services
TRANSCRIPT
Daniel Moldovan, Georgiana Copil,
Hong-Linh Truong, Schahram Dustdar
On Analyzing Elasticity Relationships
of
Cloud Services
Distributed Systems Group (http://dsg.tuwien.ac.at/)Vienna University of Technology (http://www.tuwien.ac.at/)
[email protected]://www.infosys.tuwien.ac.at/staff/dmoldovan/
CloudCom 2014
CloudCom 2014
MotivationElasticity
5
Scale/reconfigure different service units if situation
demands it
NOTE:
CloudCom 2014
MotivationDeveloping intelligent controller: a little prediction
6
Enforce Elasticity Capability
(scale in/out, reconfigure)
Effect/Impact w.r.t.
requirements on ALL UNITS ?
Change in Load
Understand how the elasticity of a service unit is influenced by another unit
i.e. if one unit “moves” towards violating its requirements, what happens with the
other units of the service
NOTE:
CloudCom 2014
Communication
dependencies
Elasticity control
processes
Elasticity RelationshipsCauses and Importance
7
e.g., when adding a Data Node instance, the Data
Controller must be informed, to execute data balancing
tasks
e.g., if Event Processing is bottleneck, and thus is
scaled out, the bottleneck might transfer to the Data
end
CloudCom 2014
Elasticity RelationshipsTypes
8
Direct
relationships
Indirect
relationshipse.g., throughput on Event Processing is dependent on
response time
e.g., CPU usage on Data End is dependent on
throughput on Event Processing which is dependent
on response time
CloudCom 2014
Elasticity RelationshipsDefinition
9
𝑬𝒍𝑹𝒆𝒍𝒂𝒕𝒊𝒐𝒏𝒔𝒉𝒊𝒑:𝑪𝒉𝒂𝒏𝒈𝒆𝑭𝒄𝒕, 𝑫𝒆𝒍𝒂𝒚𝑭𝒄𝒕, 𝑨𝒕𝒕𝒆𝒏𝒖𝒂𝒕𝒊𝒐𝒏𝑭𝒄𝒕
Behavior i
Behavior j
CloudCom 2014
Elasticity RelationshipsStakeholders
10
Different users might care about different types of relationships
NOTE:
CloudCom 2014
Aim
Objective
• Determine relationships influencing the service’s elasticity
11
Approach
• Abstract and analyze service behavior w.r.t. elasticity requirements
Challenges
• How to abstract service behavior
• Lack of complete requirements
• Inadequate monitoring information
Scale IN/OUT Reconfigure
Elasticity Controller Elasticity Behavior Analysis MonitoringElastic Cloud Service Elasticity Relationships Analysis
CloudCom 2014
Abstracting Service BehaviorElasticity Energy
13
El. Boundaryu
El. Boundaryl
If we determine relationships between concrete values, in case of elastic
services which scale in/out at run-time, those absolute values might not hold
after such elasticity capabilities are enforced
Thus, we abstract service behavior with respect to its requirements, which
give us for each metric collected from the service a lower and upper boundary
NOTE:
NOTE:
CloudCom 2014
Abstracting Service BehaviorElasticity Energy
14
El. Boundaryu
El. Boundaryl
Initial El Energy =𝐸𝑙𝐵𝑜𝑢𝑛𝑑𝑎𝑟𝑦𝑢 − 𝐸𝑙𝐵𝑜𝑢𝑑𝑎𝑟𝑦𝑙
ElWork=𝑥∗𝐿𝑜𝑎𝑑𝑈𝑛𝑖𝑡(%)
𝐼𝐸𝑙𝐸𝑛𝑒𝑟𝑔𝑦
ElEnergy = 100− 𝐸𝑙𝑊𝑜𝑟𝑘𝑙𝑜𝑎𝑑 − 𝐸𝑙𝑊𝑜𝑟𝑘𝑖𝑑𝑙𝑒
CloudCom 2014
BackgroundStructuring monitoring information
15
Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, MELA: Monitoring and Analyzing Elasticity of Cloud Services, 5'th International
Conference on Cloud Computing, CloudCom. Bristol, UK, 2-5 December, 2013, http://dx.doi.org/10.1109/CloudCom.2013.18
VM 10.0.0.i
mi
VM 10.0.0.j
mi mj mk…
VM 10.0.0.k
mi mj mk……
Data Node Unit
Data Controller
Unit
Data End
Topology
…
Event Processing
Topology
Elastic
DaaS
…
VM 10.0.0.i
mi mj mk…
VM 10.0.0.j
mi
Service Unit Instance
Service Unit Instance
mi
mi
Custom aggregation
<rule> := operation "=>" metric
<operation>:= operator "(" operand { "," operand } ")"
<operator> := "+"|"-"|"*"|"/"|"AVG"|"MAX"|"MIN“
|"CONCAT"|"FIRST"|"LAST"|"SET"
<operand> := metric | number | string
Collect only relevant monitoring information,
and logically associate it to the service structure
NOTE:
CloudCom 2014
BackgroundDetermining complete requirements
16
Daniel Moldovan, Georgiana Copil, Hong-Linh Truong, Schahram Dustdar, MELA: Monitoring and Analyzing Elasticity of Cloud Services, 5'th International
Conference on Cloud Computing, CloudCom. Bristol, UK, 2-5 December, 2013, http://dx.doi.org/10.1109/CloudCom.2013.18
Data Node Unit
Data Controller
Unit
Data End
Topology
…
Event Processing
Topology
Elastic
DaaS
mt1
ms
mi
mj
mk
…
ml
mp
…
mt2
User-Defined Elasticity Requirements
ms <= x mt1 > y
for each metric
when REQUIREMENTS are fulfilled
record Upper and Lower encountered values
…
Upper Boundary
Lower Boundary
Upper Boundary
Lower Boundary
? ?
?
?
?
?
Starting from a reduced set of initially known requirements, bridge requirements
knowledge gap by determining requirements for all service metrics
NOTE:
CloudCom 2014
Elasticity Relationships AnalysisSingle relationship analysis
17
Depending on the Elasticity
Capability to be enforced,
determine relationships between
the metrics influenced by the
capability and other service
metrics
NOTE:
CloudCom 2014
Elasticity Relationships AnalysisComplete service relationships analysis
18
Traverse structure tree and analyze relationships between:
• El. Metrics from same Elastic Element with same Level in same Sub-Tree
• El. Metrics from different Elastic Elements with same Level in same Sub-Tree
• El. Metrics from different Elastic Elements with same Level in different Sub-Tree
• El. Metrics from different Elastic Elements with different Level and same/different Sub-Tree
CloudCom 2014
Elasticity Relationships AnalysisComplete service relationships analysis
19
Traverse structure tree and analyze relationships between:
• El. Metrics from same Elastic Element with same Level in same Sub-Tree
• El. Metrics from different Elastic Elements with same Level in same Sub-Tree
• El. Metrics from different Elastic Elements with same Level in different Sub-Tree
• El. Metrics from different Elastic Elements with different Level and same/different Sub-Tree
CloudCom 2014
Elasticity Relationships AnalysisComplete service relationships analysis
20
Traverse structure tree and analyze relationships between:
• El. Metrics from same Elastic Element with same Level in same Sub-Tree
• El. Metrics from different Elastic Elements with same Level in same Sub-Tree
• El. Metrics from different Elastic Elements with same Level in different Sub-Tree
• El. Metrics from different Elastic Elements with different Level and same/different Sub-Tree
CloudCom 2014
Elasticity Relationships AnalysisComplete service relationships analysis
21
Traverse structure tree and analyze relationships between:
• El. Metrics from same Elastic Element with same Level in same Sub-Tree
• El. Metrics from different Elastic Elements with same Level in same Sub-Tree
• El. Metrics from different Elastic Elements with same Level in different Sub-Tree
• El. Metrics from different Elastic Elements with different Level and same/different Sub-Tree
CloudCom 2014
Elasticity Relationships AnalysisComplete service relationships analysis
22
Traverse structure tree and analyze relationships between:
• El. Metrics from same Elastic Element with same Level in same Sub-Tree
• El. Metrics from different Elastic Elements with same Level in same Sub-Tree
• El. Metrics from different Elastic Elements with same Level in different Sub-Tree
• El. Metrics from different Elastic Elements with different Level and same/different Sub-Tree
CloudCom 2014
Elasticity Relationships AnalysisPrototype
• Elasticity Relationships Analysis R-based Prototype
• Change Function
• Linear dependency function
• Delay Function
• Lag between time series
24
𝑚𝑒𝑡𝑟𝑖𝑐(𝑡) ∶ 𝑒𝑙𝑒𝑚𝑒𝑛𝑡 = 𝑐𝑜𝑛𝑠𝑡𝑎𝑛𝑡 + 𝑐𝑜𝑒𝑓𝑓𝑖 ∗ 𝑚𝑒𝑡𝑟𝑖𝑐𝑖 (𝑡) ∶ 𝑒𝑙𝑒𝑚𝑒𝑛𝑡𝑥 + …
CloudCom 2014
Elasticity Relationships AnalysisScenario
• Elastic Data-as-a-Service
• Runs in private cloud
• Bursts in public cloud
25
Event Processing Topology Data End Topology
CloudCom 201426
User-Defined Elasticity Requirements
responseTime:EventProcessing ≤ 100 ms cpuUsage:DataNode ≤ 90 %
Elasticity Relationships Analysis4 Experimental scenarios
CloudCom 201428
Elasticity Relationships AnalysisScenario 1: DaaS on private cloud
A user would look at monitoring information and select what relationships s/he
would like to analyze
NOTE:
CloudCom 201430
Elasticity Relationships AnalysisScenario 1: DaaS on private cloud
From the determined relationship,
one can estimate what is the
maximum throughput achievable
before CPU usage on data end
becomes a bottleneck (e.g, 80-
90%), and design a predictive
controller accordingly
NOTE:
CloudCom 201431
Elasticity Relationships AnalysisScenario 2: DaaS on public cloud
Almost identical relationship also
discovered on the public cloud,
meaning the relationship is due to the
service implementation
NOTE:
CloudCom 201432
Elasticity Relationships AnalysisScenario 3: DaaS on multiple clouds
In the multi-cloud scenario, the
relationship is attenuated (i.e., 0.18 as
multiplicative constant instead of 0.29),
indicating that CPU usage is less of a
bottleneck (increases more slowly with
throughput)
NOTE:
CloudCom 201433
Elasticity Relationships AnalysisScenario 4: DaaS with elasticity controller
User-Defined Elasticity Requirements
responseTime:EventProcessing ≤ 100 ms
cpuUsage:DataNode ≤ 90 %
+
CloudCom 201434
Elasticity Relationships AnalysisScenario 4: DaaS with elasticity controller
User-Defined Elasticity Requirements
responseTime:EventProcessing ≤ 100 ms
cpuUsage:DataNode ≤ 90 %
+
Depending on individual goals, a user might be interested in other determined
relationships, such as that when a particular elasticity controller is used, the achieved
throughput is only half the connection rate in 0.54% of the cases (Adjusted r),
indicating a potential bottleneck in the service
NOTE:
CloudCom 2014
Conclusions• Concepts
• Elasticity Relationship
• Elasticity Energy/ Work
• Mechanisms
• Abstracting behavior of elastic cloud services w.r.t. requirements
• Analyzing elasticity relationships
• Framework/Tools
• MELA: Monitoring and analyzing elasticity of cloud services
(http://tuwiendsg.github.io/MELA/)
Work partially supported by the European Commission in terms of the CELAR FP7 project
(http://www.celarcloud.eu/)
Distributed Systems Group (http://dsg.tuwien.ac.at/)
Vienna University of Technology (http://www.tuwien.ac.at/)
35