Fuzzy Control meets Software Engineering

pooyanjamshidi 1,032 views 52 slides Sep 15, 2014
Slide 1
Slide 1 of 52
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34
Slide 35
35
Slide 36
36
Slide 37
37
Slide 38
38
Slide 39
39
Slide 40
40
Slide 41
41
Slide 42
42
Slide 43
43
Slide 44
44
Slide 45
45
Slide 46
46
Slide 47
47
Slide 48
48
Slide 49
49
Slide 50
50
Slide 51
51
Slide 52
52

About This Presentation

In this Dagstuhl talk, I presented my current research on cloud auto-scaling and component connector self-adaptation and how I employed type-2 fuzzy control to tame the uncertainty regarding knowledge specification.


Slide Content

Fuzzy Control meets Software Engineering
Pooyan Jamshidi
IC4-Irish Centre for Cloud Computing and Commerce
School of Computing,Dublin City University
[email protected]
DagstuhlSeminar
Control Theory meets Software Engineering
September, 2014

Naeem Esfahani and Sam Malek ,
“Uncertainty in Self-Adaptive
Software Systems”
Knowledge
Specification
Uncertainty
2

3

Application #1:
Auto-scaling

~50% = wasted hardware
Actual
traffic
Typical weekly traffic to Web-based applications (e.g., Amazon.com)
5

Problem 1: ~75% wasted capacity
Actual
demand
Problem 2:
customer lost
Traffic in an unexpected burst in requests (e.g. end of
year traffic to Amazon.com)
6

Really like this??
Auto-scaling enables you to realize this ideal on-demand provisioning
Time
Demand ?
Enacting change in the
Cloud resources are not
real-time
7

Capacity we can provision
with Auto-Scaling
A realistic figure of dynamic provisioning
8

9

0 50 100
0
500
1000
1500 0 50 100
100
200
300
400
500 0 50 100
0
1000
2000 0 50 100
0
200
400
600 10

11

These quantitative
values are required to
be determined by the
user
requires deep
knowledge of
application (CPU,
memory,
thresholds)
requires
performance
modeling expertise
(when and how to
scale)
A unified opinion
of user(s) is
required
Amazon auto scaling
Microsoft Azure Watch
12
Microsoft Azure Auto-
scaling Application Block
12

13

Uncertainty related to enactment latency:
The same scaling action (adding/removing
a VM with precisely the same size) took
different time to be enacted on the
cloud platform (here is Microsoft Azure)
at different points and
this difference were significant
(up to couple of minutes).
The enactment latency would be also different
on different cloud platforms.
14

Offline benchmarking
Trial-and-error
Expert knowledge
Costly and
not systematic
A. Gandhi, P. Dube, A. Karve, A. Kochut, L. Zhang,
Adaptive, “Model-driven Autoscalingfor Cloud
Applications”, ICAC’14
arrival rate (req/s)
95% Resp. time (ms)
400 ms
60 req/s 15

RobusT2Scale
Initial setting +
elasticity rules +
response-time SLA
environment
monitoring
application
monitoring
scaling
actions
Fuzzy Reasoning
Users
Prediction/
Smoothing
16

0 0.5 1 1.5 2 2.5 3
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Region of
definite
satisfaction
Region of
definite
dissatisfaction
Region of
uncertain
satisfaction PerformanceIndex
Possibility
PerformanceIndex
Possibilitywords can mean different
things to different people
Different users often
recommend
different elasticity policies0 0.5 1 1.5 2 2.5 3
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
2
Type-2 MF
Type-1 MF
17

18

Workload
Response time0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
2
u
Membership grade0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
2
u
Membership grade
=>
=>
mean
sd
19

Rule
(�)
Antecedents Consequent
??????
??????????????????
�

Workload
Response-
time
Normal
(-2)
Effort
(-1)
Medium
Effort
(0)
High
Effort
(+1)
Maximum
Effort (+2)
1 Very low Instantaneous 7 2 1 0 0 -1.6
2 Very low Fast 5 4 1 0 0 -1.4
3 Very low Medium 0 2 6 2 0 0
4 Very low Slow 0 0 4 6 0 0.6
5 Very low Very slow 0 0 0 6 4 1.4
6 Low Instantaneous 5 3 2 0 0 -1.3
7 Low Fast 2 7 1 0 0 -1.1
8 Low Medium 0 1 5 3 1 0.4
9 Low Slow 0 0 1 8 1 1
10 Low Very slow 0 0 0 4 6 1.6
11 Medium Instantaneous 6 4 0 0 0 -1.6
12 Medium Fast 2 5 3 0 0 -0.9
13 Medium Medium 0 0 5 4 1 0.6
14 Medium Slow 0 0 1 7 2 1.1
15 Medium Very slow 0 0 1 3 6 1.5
16 High Instantaneous 8 2 0 0 0 -1.8
17 High Fast 4 6 0 0 0 -1.4
18 High Medium 0 1 5 3 1 0.4
19 High Slow 0 0 1 7 2 1.1
20 High Very slow 0 0 0 6 4 1.4
21 Very high Instantaneous 9 1 0 0 0 -1.9
22 Very high Fast 3 6 1 0 0 -1.2
23 Very high Medium 0 1 4 4 1 0.5
24 Very high Slow 0 0 1 8 1 1
25 Very high Very slow 0 0 0 4 6 1.6
Rule
(??????)
Antecedents Consequent
??????
??????????????????
�
Work
load
Response
-time
-2-10+1+2
12Medium Fast 25300-0.9
10 experts’ responses
??????
??????
:IF (the workload (�
1) is �
??????1
, AND the response-
time (�
2) is �
??????2
), THEN (add/remove ??????
??????�??????
??????
instances).
??????
??????�??????
??????
=

�=1
??????
??????
�
�
??????
×??????

�=1
??????
??????
�
�
??????
Goal: pre-computations of costly calculations
to make a runtime efficient elasticity
reasoning based on fuzzy inference
20

Liang, Q., Mendel, J. M. (2000). Interval type-2 fuzzy
logic systems: theory and design.Fuzzy Systems, IEEE
Transactions on,8(5), 535-550.
Scaling Actions
Monitoring Data
21

0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.5954
0.3797 ??????0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.2212
0.0000 0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
2
u 0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
x
2
u
Monitoring data
Workload
Response time
22

0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.5954
0.3797 0 10 20 30 40 50 60 70 80 90 100
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0.9568
0.9377 23

24

�
??????,�
??????
25

26

0 50 100
0
500
1000
1500 0 50 100
100
200
300
400
500 0 50 100
0
1000
2000 0 50 100
0
200
400
600 0 50 100
0
500
1000 0 50 100
0
500
1000 27

28

0 10 20 30 40 50 60 70 80 90 100
-500
0
500
1000
1500
2000
Time (seconds)
Number of hits


Original data
betta=0.10, gamma=0.94, rmse=308.1565, rrse=0.79703
betta=0.27, gamma=0.94, rmse=209.7852, rrse=0.54504
betta=0.80, gamma=0.94, rmse=272.6285, rrse=0.70858 0
0.2
0.4
0.6
0.8
1
1.2
1.4
Big spike Dual phaseLarge variationsQuickly varyingSlowly varyingSteep tri phase 0 50 100
0
500
1000
1500 0 50 100
100
200
300
400
500 0 50 100
0
1000
2000 0 50 100
0
200
400
600 0 50 100
0
500
1000 0 50 100
0
500
1000 Root Relative Squared Error
29

SUT CriteriaBig spikeDual phase
Large
variations
Quickly
varying
Slowly
varying
Steep tri
phase
RobusT2Scale
????????????
95% 973ms 537ms 509ms 451ms 423ms 498ms
�??????3.2 3.8 5.1 5.3 3.7 3.9
Overprovisioning
????????????
95% 354ms 411ms 395ms 446ms 371ms 491ms
�??????6 6 6 6 6 6
Under
provisioning
????????????
95% 1465ms1832ms 1789ms 1594ms1898ms 2194ms
�??????2 2 2 2 2 2
SLA: ��
??????�≤�????????????��
For every 10s control interval
•RobusT2Scale is superior to under-provisioning in terms of
guaranteeing the SLA and does not require excessive
resources
•RobusT2Scale is superior to over-provisioning in terms of
guaranteeing required resources while guaranteeing the SLA 30

0
0.02
0.04
0.06
0.08
0.1
alpha=0.1 alpha=0.5 alpha=0.9 alpha=1.0 Root Mean Square Error
Noise level: 10%
31

Application #2: Self-Adaptive
Software Connectors

⊭??????
Environment=D
Environment=D’
Environment=D’
⊨??????
⊨??????
Adapted to satisfy
requirements
while it is running
Reliable
RuntimeEfficient
33

0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
1.5
2
2.5
3
3.5
4
input2
input1
output1 34

35

0
1
2
3
4
5
x 10
-3
1 2 3 4 5 6 7 8 0
0.05
0.1
0.15
0.2
0.25
1 2 3 4 5 36

0.05
0.1
0.15
0.2
0.25
0.3
0.35
Type-1 FLS Type-2 FLS RMSE
•The rule reduction reduced the rules
quite considerably.
•IT2 FLCs are more robust due to less
mean error and less variation in the
estimation error.
•T1 FLCs in some realization drop more
rules in comparison with the IT2 FLCs.
•IT2 FLC original designs can be designed
with less rules.
37

0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1% 2% 3% 4% 5% 6% 7% 8% 9% 10% 0
0.2
0.4
0.6
0.8
1
1% 2% 3% 4% 5% 6% 7% 8% 9% 10% Noise Amplitude (α=0.5)
RMSE
α=0.95α=0.70.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1% 2% 3% 4% 5% 6% 7% 8% 9% 10%
T1 FLCIT2 FLC
38

Future Directions

Current Solution
(my PhD Thesis
+ IC4 work on
auto-scaling)
Future Plan
Updating K
in MAPE-K
@ RuntimeDesign-time
Assistance
Multi-cloud

41

42

Challenge 1: ~75% wasted capacity
Actual
demand
Challenge 2:
customer lost ⊭??????
Environment=D
Environment=D’
Environment=D’
⊨??????
⊨??????
Adapted to satisfy
requirements
while it is running
Reliable
Run-time Efficient Current Solution
(my PhD Thesis
+ IC4 work on
auto-scaling)
Future Plan
Updating K
in MAPE-K
@ RuntimeDesign-time
Assistance
Multi-cloud RobusT2Scale
Initial setting +
elasticity rules +
response-time SLA
environment
monitoring
application
monitoring
scaling
actions
Fuzzy Reasoning
Users
Prediction/
Smoothing 43

http://computing.dcu.ie/~pjamshidi/PDF/SEAMS2014.pdf
More
Details?
=>
http://www.slideshare.net/pooyanjamshidi/
Slides?
=>
44

Requirement: R0 50 100
0
500
1000
1500 0 50 100
100
200
300
400
500 0 50 100
0
1000
2000 0 50 100
0
200
400
600 0 50 100
0
500
1000 0 50 100
0
500
1000
Environment: D
Model: S
MonitoringImplementation
Execution
Runtime
Design-time
Reasoning
Self-adaptation
Specification
S,D⊨R
S,D⊭R
46

Looking for references?
http://computing.dcu.ie/~pjamshidi/PDF/SEAMS2014.pdf
47

48

49

50

�
??????−�
??????
51

52