Managing Uncertainty in Self-* Systems with Plan Reuse and - - PowerPoint PPT Presentation

managing uncertainty in self systems with plan reuse and
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Managing Uncertainty in Self-* Systems with Plan Reuse and Stochastic Search

Cody Kinneer, Zack Coker, Joanna Wang, David Garlan, Claire Le Goues

slide-2
SLIDE 2

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

slide-3
SLIDE 3

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

slide-4
SLIDE 4

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

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

7

Time and Failure

S t a r t S e r v e r

slide-8
SLIDE 8

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

?

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 11

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 B

Mu 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 C
slide-12
SLIDE 12

1 2

slide-13
SLIDE 13

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

slide-14
SLIDE 14

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

slide-15
SLIDE 15

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

slide-16
SLIDE 16

1 6

Reuse Enabling

  • Kill ratio
  • Scratch ratio
  • Plan Trimmer
slide-17
SLIDE 17

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
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 ; ; ; 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
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 ; ; ; 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
  • wn
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 ; ; 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 ; ; 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 ; ; 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 ; ; ; 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 ; ; ; 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
slide-18
SLIDE 18

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
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 ; 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
slide-19
SLIDE 19

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
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 ; 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 5 S t a r t S e r v e r C ; F F
slide-20
SLIDE 20

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
slide-21
SLIDE 21

2 1

Evolving Tactics

S t a r t S e r v e r @ D

Request Spike & New Data Center

slide-22
SLIDE 22

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

slide-23
SLIDE 23

2 3

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

2 6

slide-27
SLIDE 27

2 7

slide-28
SLIDE 28

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

slide-29
SLIDE 29

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

slide-30
SLIDE 30

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

slide-31
SLIDE 31

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

slide-32
SLIDE 32

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

slide-33
SLIDE 33

3 3

Empirical Evaluation

  • Sanity check: compare planner to

PRISM probabilistic model checker

  • Is the planner close to optimal?
  • How much faster?
slide-34
SLIDE 34

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