Managing Uncertainty in Self-* Systems with Plan Reuse and - - PowerPoint PPT Presentation
Managing Uncertainty in Self-* Systems with Plan Reuse and - - PowerPoint PPT Presentation
Managing Uncertainty in Self-* Systems with Plan Reuse and Stochastic Search Cody Kinneer, Zack Coker, Joanna Wang, David Garlan, Claire Le Goues 2 C l o u d We b S e r v e r U s e r s U s e r s D a t a C e n t e
2 U s e r s C l
- u
d We b S e r v e r U s e r s
D a t a C e n t e r A D a t a C e n t e r B D a t a C e n t e r C
3 S e r v e r s D a t a C e n t e r s
Cloud Web Server
D a t a C e n t e r P r
- p
e r t i e s
- S
e r v e r t y p e
- T
r a f f l e v e l
- D
i m m e r
- N
u m b e r
- f
s e r v e r s S e r v e r P r
- p
e r t i e s
- C
- s
t
- Ma
x f u l l r e q u e s t s
- Ma
x d i m m e d r e q u e s t s
4 C l
- u
d We b S e r v e r U s e r s
D a t a C e n t e r A D a t a C e n t e r B D a t a C e n t e r C
5 C l
- u
d We b S e r v e r U s e r s
D a t a C e n t e r A D a t a C e n t e r B D a t a C e n t e r C
6
Tactics
I n f r e a s e D i m m e r D e f r e a s e D i m m e r I n f r e a s e T r a f f D e f r e a s e T r a f f S t a r t S e r v e r S h u t d
- w
n S e r v e r
7
Time and Failure
S t a r t S e r v e r
8
Existing Approaches
- Rainbow / Stitch
- Planning
- Manual
- Automated
- PRISM
S y s t e m C
- n
t r
- l
Mo n i t
- r
A d a p t
H a n d l e E v
- l
u t i
- n
?
9
Evolution
- E
v
- l
v i n g Q u a l i t y P r i
- r
i t i e s
S t a r t S e r v e r @ D
- E
v
- l
v i n g T a f t i f s
- E
v
- l
v i n g E n v i r
- n
m e n t
1
Our Approach
- Genetic Programming
- Inspired by automated repair
- Simple planning language
- Reuse enabling techniques
- Implemented in Java using ECJ library
from George Mason University
1 1
; F F 5 S t a r t S e r v e r C 4 S t a r t S e r v e r BMu t a t i
- n
a n d C r
- s
s
- v
e r E v a l u a t i
- n
I n i t i a l P l a n
; F F ; F F 5 S t a r t S e r v e r C 4 S t a r t S e r v e r B ; F F 5 S t a r t S e r v e r C 4 S t a r t S e r v e r B ; F F 5 S t a r t S e r v e r C 4 S t a r t S e r v e r B ; F F 5 S t a r t S e r v e r C 4 S t a r t S e r v e r B ; F F 5 S t a r t S e r v e r C 4 S t a r t S e r v e r B ; F F F 5 S t a r t S e r v e r C1 2
1 3
Plans
; F F 5 S t a r t S e r v e r C 4 S t a r t S e r v e r B
1 4
Plan Evaluation
S t a r t S e r v e r A S t a r t S e r v e r A . 1 S t a r t S e r v e r B . 9 9 8 7 . 8 . 1 1 1 3 7 . 3 . 9 1 1 3 7 . 3 . 1 1 5 2 6 . 6 . 9
1 5
Good Plans are Big
; ; ; T S t a r t S e r v e r S t a r t S e r v e r T ; B S t a r t S e r v e r T S t a r t S e r v e r B S t a r t S e r v e r T S h u t d
- w
n S e r v e r B S t a r t S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r B B A A C S t a r t S e r v e r ; C S t a r t S e r v e r S h u t d
- w
n S e r v e r C A C F ; 4 ; S t a r t S e r v e r S h u t d
- w
n S e r v e r C A T S t a r t S e r v e r S t a r t S e r v e r T ; B S t a r t S e r v e r T ; B S t a r t S e r v e r T S h u t d
- w
n S e r v e r B S t a r t S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r B B A A S t a r t S e r v e r S h u t d
- w
n S e r v e r C A S t a r t S e r v e r ; C ; S h u t d
- w
n S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r C A A C
1 6
Reuse Enabling
- Kill ratio
- Scratch ratio
- Plan Trimmer
1 7
Kill Ratio
; ; ; T S t a r t S e r v e r S t a r t S e r v e r T ; B S t a r t S e r v e r T S t a r t S e r v e r B S t a r t S e r v e r T S h u t d- wn
- w
- w
- w
- w
- w
- w
- w
- w
- wn
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- wn
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
- w
1 8
Scratch Ratio
; ; ; T S t a r t S e r v e r S t a r t S e r v e r T ; B S t a r t S e r v e r T S t a r t S e r v e r B S t a r t S e r v e r T S h u t d- w
- w
- w
- w
- w
- w
- w
- w
- w
1 9
Trimmer
; ; ; T S t a r t S e r v e r S t a r t S e r v e r T ; B S t a r t S e r v e r T S t a r t S e r v e r B S t a r t S e r v e r T S h u t d- w
- w
- w
- w
- w
- w
- w
- w
- w
2
Empirical Evaluation
- Does plan reuse result in improved fitness?
- Change model and plan for the new situation
- All results involving randomness are the
median of 10 trials
- P values obtained by Wilcoxon rank sum test
2 1
Evolving Tactics
S t a r t S e r v e r @ D
Request Spike & New Data Center
2 2
Reuse Enabling Techniques
P l a n n i n g T e f h n i q u e Utility P Value Scratch 1.000 Scratch & Kill Ratio 1.044 < 0.01 Naive Reuse 0.962 0.06 Reuse & Kill Ratio 1.072 < 0.01 Reuse & Kill Ratio & Scratch Ratio 1.077 0.63 Reuse & Kill Ratio & Scratch Ratio & Trimmer 1.112 < 0.01
2 3
2 4
Reuse Improvement
Scenario 1k 10k Increased Costs 0.02 0.81 Network Unreliability 0.01 0.10 Failing Data Center
- 0.02
0.14 Request Spike
- 0.14
- 0.01
New Data Center
- 0.63
0.28 Request Spike & New Data Center
- 0.47
1.54
2 5
Key Contributions
- A planner based on genetic
programming for self-adaptive systems
- A set of techniques for enabling more
efficient plan reuse in GP
- Enhancing existing plans can result in
improved fitness compared to planning from scratch C
- d
y K i n n e e r f k i n n e e r @a n d r e w . f m u . e d u
2 6
2 7
2 8
; ; S t a r t S e r v e r ; S t a r t S e r v e r S t a r t S e r v e r ; B S t a r t S e r v e r ; C S t a r t S e r v e r ; C ; ; S t a r t S e r v e r S t a r t S e r v e r C B ; F F ; 5 S t a r t S e r v e r A S t a r t S e r v e r F B 3 S t a r t S e r v e r B 4 S t a r t S e r v e r C B A
; ; S t a r t S e r v e r ; S t a r t S e r v e r S t a r t S e r v e r ; C S t a r t S e r v e r ; C ; F F ; 4 S h u t d
- w
n S e r v e r A S t a r t S e r v e r F B 2 S t a r t S e r v e r B 4 S t a r t S e r v e r C B B
2 9
; ; ; T S h u t d
- w
n S e r v e r S t a r t S e r v e r T ; B S t a r t S e r v e r T ; B S t a r t S e r v e r T S h u t d
- w
n S e r v e r B S t a r t S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r B B D A ; S h u t d
- w
n S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r C D A S t a r t S e r v e r ; C ; S h u t d
- w
n S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r C D A A F ; 4 ; S t a r t S e r v e r S h u t d
- w
n S e r v e r C D T S t a r t S e r v e r S t a r t S e r v e r T ; B S t a r t S e r v e r T ; B S t a r t S e r v e r T S h u t d
- w
n S e r v e r B S t a r t S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r B B A A ; S h u t d
- w
n S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r C A A S t a r t S e r v e r ; C ; S h u t d
- w
n S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r C A A C ; ; ; T S t a r t S e r v e r S t a r t S e r v e r T ; B S t a r t S e r v e r T S t a r t S e r v e r B S t a r t S e r v e r T S h u t d
- w
n S e r v e r B S t a r t S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r B B A A C S t a r t S e r v e r ; C S t a r t S e r v e r S h u t d
- w
n S e r v e r C A C F ; 4 ; S t a r t S e r v e r S h u t d
- w
n S e r v e r C A T S t a r t S e r v e r S t a r t S e r v e r T ; B S t a r t S e r v e r T ; B S t a r t S e r v e r T S h u t d
- w
n S e r v e r B S t a r t S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r B B A A S t a r t S e r v e r S h u t d
- w
n S e r v e r C A S t a r t S e r v e r ; C ; S h u t d
- w
n S e r v e r S t a r t S e r v e r S h u t d
- w
n S e r v e r C A A C
A d a p t i n g P l a n t
- N
e w T a f t i f
3
Empirical Results
P l a n n i n g T e f h n i q u e Utility P Value Scratch 1.000 Reuse 0.962 0.06
3 1
Evolving Tactics
S t a r t S e r v e r @ D
Evolving Tactics
U s e r s
D a t a C e n t e r A D a t a C e n t e r B D a t a C e n t e r C D a t a C e n t e r D
3 2 C l
- u
d We b S e r v e r U s e r s
D a t a C e n t e r A D a t a C e n t e r B D a t a C e n t e r C
3 3
Empirical Evaluation
- Sanity check: compare planner to
PRISM probabilistic model checker
- Is the planner close to optimal?
- How much faster?
3 4 P a r a m e t e r S w e e p P r
- f
t v s R u n t i m e R u n t i m e ( s e f
- n
d s )
P r
- f
t