Shang-Wen Cheng

Handling Uncertainty in
Autonomic Systems
 Disney
Shang-Wen Cheng and David Garlan
{zensoul,garlan}@cs.cmu.edu
CMU Architecture-Based Language & Environment Group
Int’l Workshop on Living with Uncertainties
November 5, 2007
Big Picture

Autonomic Monitor-Analyze-Plan-Execute loop
introduces inherent uncertainties




Detecting the existence of a problem
Deciding on adaptation actions
Carrying out the actions
Architecture-based instantiation provides techniques



Smoothing, model distribution, prediction
Capture cost and effect, estimate likelihood
Explicit settling time
Handling Uncertainty
Shang-Wen Cheng © IWLU 2007
2
Autonomic MAPE Loop

Reference standard


Monitor-Analyze-Plan-Execute
Loose coupling  uncertainties



Analyze
Analyze – problem detection
Plan – adaptation choice
Execute – outcome
Monitor

Plan
Architectural
Knowledge
Model
Execute
Knowledge? Architecture!




Global system perspective
Important behaviors and properties
Explicit system constraints
Proven tradeoff, analysis techniques
Managed element
Architecture-based self-adaptation
Handling Uncertainty
Shang-Wen Cheng © IWLU 2007
3
Rainbow: Instantiating MAPE



Model Manager maintains architectural knowledge of system
Architecture Analyzer detects constraint violation in model  trigger
Adaptation Engine selects a strategy to maximize utility  adapt
Architecture Layer
Adaptation
Engine
Adaptation
Executor
Architecture
Analyzer
Analyze
Plan
Model Manager
Gauges
Knowledge
Translation
Infrastructure
Effectors
System API Resource
System
Layer
Handling Uncertainty
Discovery
Monitor
Execute
Probes
Target System
Managed element
Shang-Wen Cheng © IWLU 2007
4
Does a Problem Exist?
Touchpoint Autonomic Manager
Analyze
Monitor

Architectural
Knowledge
Model
Execute
Stochastic uncertainty of system properties, e.g., CPU


Transient rise above threshold not necessarily worth adaptation
Steady trend toward but not beyond threshold still problematic
yHI
yLO

Plan
yHI
t
yHI
t
?
t
Three solution techniques



Moving-average filter to smooth stochastic
Explicit probability distribution as envelop to determine problem
Resource prediction to anticipate problem
Handling Uncertainty
Shang-Wen Cheng © IWLU 2007
5
Which Adaptation Action?
Touchpoint Autonomic Manager
Analyze
Monitor

Strategy selection uncertainty


Cost and effect of actions
Outcome of action steps

Architectural
Knowledge
Model
Execute
ulatency(), uquality(), ucost(), udisruption()
(wlatency, wquality, wcost, wdisruption)
= (0.5, 0.3, 0.1, 0.1) [= 1]
[+500, +2, 5, 1]
Score
Plan
Given tree X w/ children A, B, & pA, pB…
EA(X) = Agg_AV(X) =
pA  Agg_AV(A) + pB  Agg_AV(B) + …
T1
[375, 1.5, 3.75, .75] 75%
= 0.58
P0
[latency: “low”; quality: “textual”; cost: 1; disruption: 3]
100%
[-125,
[-500,1.5,
+0, 1,
4.75,
1.25]
2] 25%
[-1000, -2, 1, 3]
T3
T2
[0.4,
0.6]
[900,1,
5,0.2,
4.75,
2]
[-1000, +0,
[-2000,
+2, 4,
3, 5]
2]
Three-step solution technique



Assign cost and effect attributes to action steps
Estimate the likelihood of known effects of an action step
Compute expected aggregate attribute vector of a strategy and
then score with utility function
Handling Uncertainty
Shang-Wen Cheng © IWLU 2007
6
Did Action Succeed?
Touchpoint Autonomic Manager
Analyze
Monitor

Architectural
Knowledge
Model
Execute
Wait-time uncertainty for action execution


Too short: misjudge outcome of strategy
Too long: unacceptable latency for adaptation
strategy SimpleReduceResponseTime() {
boolean c0 = responseTime() > RespTimeLimit;
20
y(k)
10
0
0
5
10
15
ks

Plan
20
25
t0: (c0) -> switchToTextualContent() {
t1: (#[prob{t1}] success @[1000/*ms*/]) -> done ;
t2: (#[prob{t2}] c0 @[2000/*ms*/])
-> enlistServer(1) {
t2a: (success @[1000/*ms*/]) -> done ;
}}}
Solution technique


Adopt a concept of settling time from control theory  wait time
Explicit description of time window to wait for action execution
Handling Uncertainty
Shang-Wen Cheng © IWLU 2007
7
The End

Summary


Inherent uncertainties in autonomic MAPE loop
Architecture-based Rainbow solves 3 uncertainty sources




Stochastic props  smoothing, model distribution, prediction
Strategy selection  capture cost & effect, estimate likelihood
Wait time of execution  explicit settling time
Questions?

Shang-Wen Cheng and David Garlan
{zensoul,garlan}@cs.cmu.edu
Carnegie Mellon University
Handling Uncertainty
Shang-Wen Cheng © IWLU 2007
8