Jan 19, 2010 - mode switch overhead. â Break Even Time. â· When to turn on. â² as late as possible. â² cope with future burstiness time turn off turn on. Break ...
Adaptive Power Management for Real-Time Event Streams Kai Huang1 Luca Santinelli2 Jian-Jia Chen1 Lothar Thiele1 Giorgio C. Buttazzo2 1 Computer
2 Scuola
Engineering and Networks Laboratory ETH Zurich, Switzerland Superiore Sant’Anna of Pisa, Italy
January 19, 2010
Problem Context
Power Dissipation ◮ Dynamic power consumption ◮ Static power consumption (leakage)
1/22
Problem Context
Power Dissipation ◮ Dynamic power consumption ◮ Static power consumption (leakage) Energy Saving ◮ Dynamic Voltage Scaling ◮ Dynamic Power Management
1/22
Motivation
2/22
Motivation
The leakage power is comparable to or even more than the dynamic power dissipation ⇒ Reducing the leakage power is crucial 2/22
Challenges
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
3/22
Challenges
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
3/22
time
Challenges
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
3/22
turn on
time
Challenges
Break Even Time
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
3/22
turn on
time
Challenges
Break Even Time
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
turn on
time
◮ When to turn on ⊲ as late as possible ⊲ cope with future burstiness turn off
3/22
time
Challenges
Break Even Time
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
turn on
time
◮ When to turn on ⊲ as late as possible ⊲ cope with future burstiness turn off
3/22
time
Challenges
Break Even Time
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
turn on
time
◮ When to turn on ⊲ as late as possible ⊲ cope with future burstiness turn off
3/22
time
Challenges
Break Even Time
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
turn on
time
◮ When to turn on ⊲ as late as possible ⊲ cope with future burstiness turn off turn on
3/22
time
Challenges
Break Even Time
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
turn on
time
◮ When to turn on ⊲ as late as possible ⊲ cope with future burstiness turn off turn on
3/22
time
Challenges
Break Even Time
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
turn on
time
◮ When to turn on ⊲ as late as possible ⊲ cope with future burstiness turn off turn on
3/22
time
Challenges
Break Even Time
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
turn on
time
◮ When to turn on ⊲ as late as possible ⊲ cope with future burstiness turn off turn on
3/22
time
Challenges
Break Even Time
◮ When to turn off ⊲ mode switch overhead ⇒ Break Even Time
turn off
turn on
time
◮ When to turn on ⊲ as late as possible ⊲ cope with future burstiness
⇒ more complex for multiple streams
3/22
turn off turn on
time
Contributions
◮ Extend our online algorithms in RTSS’09 which adaptively control the power mode of a system (device) by ⊲ predicting the next moment for mode switch by considering both historical and future event arrivals ⊲ procrastinating the buffered and future events as late as possible without violating the timing and backlog constraints
◮ Propose method to cope with multiple streams with ⊲ preemptive fixed-priority scheduling ⊲ preemptive earliest-deadline-first scheduling
◮ Apply to streams with different characteristics to demonstrate the effectiveness
4/22
Outline
1
Introduction
2
Underlying Mathematical Model
3
Our Algorithms
4
Experimental Results
5/22
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
6/22
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
◮ Nowadays ⊲ Arrival curves ⇒ Maximum/minimum arriving demand in any interval of length, e.g. 3 s
6/22
0
2
4
6
8
Time domain
10
12 time
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
◮ Nowadays
0
2
4
6
8
∆=3
⊲ Arrival curves ⇒ Maximum/minimum arriving demand in any interval of length, e.g. 3 s
6/22
Time domain
10
12 time
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
◮ Nowadays
0
2
4
6
8
∆=3
⊲ Arrival curves ⇒ Maximum/minimum arriving demand in any interval of length, e.g. 3 s
6/22
Time domain
10
12 time
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
◮ Nowadays
0
2
4
6
8
∆=3
⊲ Arrival curves ⇒ Maximum/minimum arriving demand in any interval of length, e.g. 3 s
6/22
Time domain
10
12 time
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
◮ Nowadays
0
2
4
6
8
∆=3
⊲ Arrival curves ⇒ Maximum/minimum arriving demand in any interval of length, e.g. 3 s
6/22
Time domain
10
12 time
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
◮ Nowadays
0
2
4
6
8
∆=3
⊲ Arrival curves ⇒ Maximum/minimum arriving demand in any interval of length, e.g. 3 s
6/22
Time domain
10
12 time
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
◮ Nowadays
0
2
4
6
8
10
12 time
∆=3
⊲ Arrival curves ⇒ Maximum/minimum arriving demand in any interval of length, e.g. 3 s
6/22
Time domain
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
0
◮ Nowadays
2
4
∆=3
10 ∆=3
Time domain 6 4 2 0
6/22
8
8 # of events
⊲ Arrival curves ⇒ Maximum/minimum arriving demand in any interval of length, e.g. 3 s
6
0
2
4
6 8 10 ∆ Interval domain
12 time
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
0
◮ Nowadays
6
8
10
12 time
Time domain b b
αu (∆)
6
b
b
4
b b
2 0
6/22
4
8 # of events
⊲ Arrival curves ⇒ Maximum/minimum arriving demand in any interval of length, e.g. 3 s
2
b b
b
b
b
b
0
2
4
b b
b b
b
b b
b b
b
b
b
b
b
b b
αl (∆)
6 8 10 ∆ Interval domain
Model of Event Arrivals ◮ Traditionally ⊲ Periodic Real-Time Tasks ⊲ Sporadic Real-Time Tasks ⊲ ·········
0
◮ Nowadays
6/22
4
6
8
10
12 time
Time domain 8 # of events
⊲ Arrival curves ⇒ Maximum/minimum arriving demand in any interval of length, e.g. 3 s ⊲ Arrival curves generalize traditional event models and are suitable to represent complex characteristics of event streams
2
b
6
b
b
4
b b
2 0
b
αu (∆)
b b
b
b
b
b
0
2
4
b b
b b
b
b b
b b
b
b
b
b
b
b b
αl (∆)
6 8 10 ∆ Interval domain
Model of Resource Service
◮ Service curves ⇒ Maximum/minimum available service in any interval of length ∆ for the whole time span
7/22
Model of Resource Service
◮ Service curves ⇒ Maximum/minimum available service in any interval of length ∆ for the whole time span
on
off
on
off
on time
7/22
Model of Resource Service
◮ Service curves ⇒ Maximum/minimum available service in any interval of length ∆ for the whole time span b
on
off
on
off
# of cycles
8 on time
7/22
b
β u (∆)
6
b
4 b
b
b
2 0
b
b
0
2
4
6
b
b
β l (∆)
8 10 12 ∆
Model of Resource Service
◮ Service curves ⇒ Maximum/minimum available service in any interval of length ∆ for the whole time span b
on
off
on
off
# of cycles
8 on time
b
β u (∆)
6
b
4 b
b
b
b
0
2
4
6
8 10 12 ∆
⊲ Service curves generalize different resource models
7/22
b
β l (∆) b
2 0
b
Analysis ◮ Delay and Backlog Analysis Given: ⊲ α is the stream arrival curve ⊲ β is the service guarantee ⇒ maximum delay D ⇒ maximum backlog B
8/22
Analysis ◮ Delay and Backlog Analysis Given: ⊲ α is the stream arrival curve ⊲ β is the service guarantee ⇒ maximum delay D ⇒ maximum backlog B
8/22
α(∆) B
D β(∆) ∆
Analysis ◮ Delay and Backlog Analysis Given: ⊲ α is the stream arrival curve ⊲ β is the service guarantee ⇒ maximum delay D ⇒ maximum backlog B
◮ Scheduling Analysis Suppose: ⊲ α is the stream arrival curve ⊲ D is the deadline of the stream ⊲ β A = α(∆ − D ) is service demand of α ⊲ β G is the service guarantee ⇒ the event stream is schedulable iff β(∆) ≥ β A = α(∆ − D), ∀∆ ≥ 0
8/22
α(∆) B
D β(∆) ∆
Analysis ◮ Delay and Backlog Analysis α(∆)
Given: ⊲ α is the stream arrival curve ⊲ β is the service guarantee ⇒ maximum delay D ⇒ maximum backlog B
B
D β(∆) ∆
◮ Scheduling Analysis Suppose: ⊲ α is the stream arrival curve ⊲ D is the deadline of the stream ⊲ β A = α(∆ − D ) is service demand of α ⊲ β G is the service guarantee ⇒ the event stream is schedulable iff β(∆) ≥ β A = α(∆ − D), ∀∆ ≥ 0
8/22
αu (∆)
β G (∆) β A (∆) = αu (∆ − D)
∆
Outline
1
Introduction
2
Underlying Mathematical Model
3
Our Algorithms
4
Experimental Results
9/22
Modeling Q1
α2 , D2
Q2
...
S2
α1 , D1
SN
...
S1
αN , DN
Pa Active
controler scheduler (EDF/FP)
QN
device βG
Es
Es
on
sle e
p
>
>
Standby Ps
Sleep < tsw,on ; Esw,on >
◮ System model ⊲ a device is managed by a controller ⊲ distributed backlogs to buffer events for each stream ⊲ events of different streams scheduled with EDF/FP policies
◮ Power model ⊲ ⊲ ⊲ ⊲
active mode with power consumption Pa standby mode with leakage power consumption Ps sleep mode with power consumption Pδ mode switch overhead: Break even time TBET
10/22
Pσ
The Control Flow of Our Approach
◮ Control flow yes .
⊥ sleep t
activation/ decision
yes active/ t ⊤ standby
deactivation/ decision no
no
11/22
The Control Flow of Our Approach
◮ Control flow yes .
⊥ sleep t
activation/ decision
yes active/ t ⊤ standby
deactivation/ decision no
no
◮ Activation & Deactivation scheduling decisions ⊲ History Aware Deactivation (HAD) algorithm ⊲ Worst Case Greedy (WCG) activation algorithm ⊲ Event Driven Greedy (EDG) activation algorithm
11/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ )
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ )
∆
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆)
∆
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆)
D1
β A (∆) = αu1 (∆ − D1 ) ∆
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆)
D1
β A (∆) = αu1 (∆ − D1 )
τ∗
bdf(∆, τ ∗ ) ∆
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆) Q · w1 D1
β A (∆) = αu1 (∆ − D1 )
τ∗
bdf(∆, τ ∗ ) ∆
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆) Q · w1 D1 τ∗
δ∗
β A (∆) = αu1 (∆ − D1 )
bdf(∆, τ ∗ ) ∆
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆) Q · w1 D1 τ∗
δ∗
β A (∆) = αu1 (∆ − D1 )
bdf(∆, τ ∗ ) ∆
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆) Q · w1 D1 τ∗
δ∗
β A (∆) = αu1 (∆ − D1 )
bdf(∆, τ ∗ ) ∆
◮ History aware arrival curve: αu (∆, t)
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆) Q · w1 D1 δ∗
τ∗
β A (∆) = αu1 (∆ − D1 )
bdf(∆, τ ∗ ) ∆
◮ History aware arrival curve: αu (∆, t) e1 e2
e3
e4
e5
e6
t ∆h
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆) Q · w1 D1 δ∗
τ∗
β A (∆) = αu1 (∆ − D1 )
bdf(∆, τ ∗ ) ∆
◮ History aware arrival curve: αu (∆, t) e1 e2
e3
e4
e5
e6
t ∆h
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆) Q · w1 D1 δ∗
τ∗
β A (∆) = αu1 (∆ − D1 )
bdf(∆, τ ∗ ) ∆
◮ History aware arrival curve: αu (∆, t) e1 e2
e3
e4
e5
e6
t Hi (∆, t ′ )
∆h
12/22
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆) Q · w1 D1 δ∗
τ∗
β A (∆) = αu1 (∆ − D1 )
bdf(∆, τ ∗ ) ∆
◮ History aware arrival curve: αu (∆, t) e1 e2
e3
e4
e5
e6
t Hi (∆, t ′ )
∆h
12/22
αu (∆)
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆) Q · w1 D1 δ∗
τ∗
β A (∆) = αu1 (∆ − D1 )
bdf(∆, τ ∗ ) ∆
◮ History aware arrival curve: αu (∆, t) e1 e2
e3
e4
e5
e6
t Hi (∆, t ′ )
∆h
αu (∆) αu (∆, t)
Basic Routines ◮ Bounded delay function: bdf(∆, τ ) αu1 (∆)
bdf(∆, τ ) = max 0, (∆ − τ ) , ∀∆ ≥ 0 Q · w1 D1 τ ∗ = max τ : bdf(∆, τ ) ≥ β A (∆), ∀∆ ≥ 0 δ∗ ∗ = αu1 (∆ − D1 ) u β A (∆) bdf(∆, δ∗ = max τ ∗ 0, min{δ : αi (∆) −bdf(∆, τ ∗ ) τ − δ) ≤ Qi · wi , ∀∆} ∆
◮ History aware arrival curve: αu (∆, t) e1 e2
e3
e4
e5
e6
( Ri (t ′ ) − Ri (t − ∆), t if ∆ ≤ ∆h ; ′ Hi (∆, t ) = αu (∆) ′ ) − Rh (t ′ − ∆h ), R (t otherwise. i i ∆ Hi (∆, t ′ ) u t) ) αui (∆, t ′ ) ≤ inf λ≥0 αui (∆ + λ) − Hi (λ,αt ′(∆, 12/22
Activation & Deactivation Algorithms
◮ History Aware Deactivation (HAD) algorithm ⊲ idea: turn off when the sleep interval can be larger than the break even time
◮ Worst Case Greedy (WCG) activation algorithm ⊲ idea: reevaluate when at the previous predication time
◮ Event Driven Greedy (EDG) activation algorithm ⊲ idea: reevaluate upon every event arrival
◮ Details refer to RTSS’09
13/22
Activation & Deactivation Algorithms
◮ History Aware Deactivation (HAD) algorithm ⊲ idea: turn off when the sleep interval can be larger than the break even time
◮ Worst Case Greedy (WCG) activation algorithm ⊲ idea: reevaluate when at the previous predication time
◮ Event Driven Greedy (EDG) activation algorithm ⊲ idea: reevaluate upon every event arrival
◮ Details refer to RTSS’09 ⇒ Key: How to compute a valid but tight service demand β A
13/22
Computing Flow for Multiple-Stream Scenario . history-aware future arrival: αui backlogged-aware and backlog-constrained demands: βi♭ , βi† individual stream service demand βi∗ A total service demand βtotal A bounded delay τtotal from βtotal
14/22
Preemptive Fixed-Priority Scheduling A βtotal
α1 S1
α2 S2
...
αN SN
15/22
Preemptive Fixed-Priority Scheduling A βtotal
α1
β1∗ S1
α2 S2
...
αN SN
15/22
Preemptive Fixed-Priority Scheduling A βtotal
α1
β1∗ S1
α2
β2∗ S2
...
αN SN
15/22
Preemptive Fixed-Priority Scheduling A βtotal
α1
β1∗ S1
α2
β2∗ S2
β3∗ ...
αN
βN∗ SN
15/22
Preemptive Fixed-Priority Scheduling A βtotal
β1∗
α1 S1
β2∗
α2 S2
β3∗ ...
βN∗
αN SN
15/22
Preemptive Fixed-Priority Scheduling A βtotal
β1∗
α1 S1
β2∗
α2 S2
β3∗ ...
βN∗
αN SN
βN∗ (∆, t ′ ) = max{βN♭ (∆, t ′ ), βN† (∆, t ′ )}
15/22
Preemptive Fixed-Priority Scheduling A βtotal
β1∗
α1 S1
β2∗
α2 S2
β3∗
˘ ♯ ¯ ∗ ♭ † βk−1 (∆) = max βk−1 (∆), βk−1 (∆, t ′ ), βk−1 (∆, t ′ ) ˘ ¯ ♯ βk−1 (∆) ≥ inf β : βk∗ (∆, t ′ ) = sup {β(λ) − αuk−1 (λ, t ′ )} 0≤λ≤∆
...
βN∗
αN SN
βN∗ (∆, t ′ ) = max{βN♭ (∆, t ′ ), βN† (∆, t ′ )}
15/22
Preemptive Fixed-Priority Scheduling A βtotal (∆) = β1∗ (∆)
A βtotal
β1∗
α1 S1
β2∗
α2 S2
β3∗
˘ ♯ ¯ ∗ ♭ † βk−1 (∆) = max βk−1 (∆), βk−1 (∆, t ′ ), βk−1 (∆, t ′ ) ˘ ¯ ♯ βk−1 (∆) ≥ inf β : βk∗ (∆, t ′ ) = sup {β(λ) − αuk−1 (λ, t ′ )} 0≤λ≤∆
...
βN∗
αN SN
βN∗ (∆, t ′ ) = max{βN♭ (∆, t ′ ), βN† (∆, t ′ )}
15/22
Preemptive Fixed-Priority Scheduling A βtotal (∆) = β1∗ (∆)
A βtotal
β1∗
α1 S1
β2∗
α2 S2
β3∗
˘ ♯ ¯ ∗ ♭ † βk−1 (∆) = max βk−1 (∆), βk−1 (∆, t ′ ), βk−1 (∆, t ′ ) ˘ ¯ ♯ βk−1 (∆) ≥ inf β : βk∗ (∆, t ′ ) = sup {β(λ) − αuk−1 (λ, t ′ )} 0≤λ≤∆
...
βN∗
αN SN
βN∗ (∆, t ′ ) = max{βN♭ (∆, t ′ ), βN† (∆, t ′ )}
τtotal = max τ : bdf(∆, τ ) ≥ β1∗ (∆), ∀∆ ≥ 0 15/22
Preemptive Earliest-Deadline-First Scheduling A βtotal
P
i 6=j
αi S \ {Sj }
α∗j Sj
16/22
Preemptive Earliest-Deadline-First Scheduling A βtotal
P
i 6=j
αi S \ {Sj }
βj∗ α∗j Sj
16/22
Preemptive Earliest-Deadline-First Scheduling A βtotal
∗ βj,total
P
i 6=j
αi S \ {Sj }
βj∗ α∗j Sj
16/22
Preemptive Earliest-Deadline-First Scheduling A βtotal
∗ βj,total
P
i 6=j
αi S \ {Sj }
βj∗ α∗j Sj
16/22
Preemptive Earliest-Deadline-First Scheduling A βtotal
∗ βj,total
P
i 6=j
αi S \ {Sj }
βj∗ α∗j Sj
βj∗ (∆, t ′ ) = max{βj♭ (∆, t ′ ), βj† (∆, t ′ )}
16/22
Preemptive Earliest-Deadline-First Scheduling A βtotal N X ¯ ˘ ∗ βi♭ (∆, t ′ ) βj,total (∆) = max βj♯ (∆),
∗ βj,total
P
i 6=j
i 6=j
αi S \ {Sj }
βj♯ (∆) ≥ inf β : βj∗ (∆, t ′ ) = sup {β(λ) − ˘
0≤λ≤∆
βj∗ α∗j Sj
βj∗ (∆, t ′ ) = max{βj♭ (∆, t ′ ), βj† (∆, t ′ )}
16/22
N X i 6=j
¯ αui (λ, t ′ )}
Preemptive Earliest-Deadline-First Scheduling A βtotal
i 6=j
i ∈N
N X ¯ ˘ ∗ βi♭ (∆, t ′ ) βj,total (∆) = max βj♯ (∆),
∗ βj,total
P
A βtotal (∆) = max{βi∗,total (∆)}
i 6=j
αi S \ {Sj }
βj♯ (∆) ≥ inf β : βj∗ (∆, t ′ ) = sup {β(λ) − ˘
0≤λ≤∆
βj∗ α∗j Sj
βj∗ (∆, t ′ ) = max{βj♭ (∆, t ′ ), βj† (∆, t ′ )}
16/22
N X i 6=j
¯ αui (λ, t ′ )}
Preemptive Earliest-Deadline-First Scheduling A βtotal
i 6=j
i ∈N
N X ¯ ˘ ∗ βi♭ (∆, t ′ ) βj,total (∆) = max βj♯ (∆),
∗ βj,total
P
A βtotal (∆) = max{βi∗,total (∆)}
i 6=j
αi S \ {Sj }
βj♯ (∆) ≥ inf β : βj∗ (∆, t ′ ) = sup {β(λ) − ˘
0≤λ≤∆
N X i 6=j
βj∗ α∗j Sj
βj∗ (∆, t ′ ) = max{βj♭ (∆, t ′ ), βj† (∆, t ′ )}
τtotal = max τ : bdf(∆, τ ) ≥ max{βi∗,total (∆)}, ∀∆ ≥ 0 i ∈N
16/22
¯ αui (λ, t ′ )}
Outline
1
Introduction
2
Underlying Mathematical Model
3
Our Algorithms
4
Experimental Results
17/22
Experiment Setup ◮ Event Stream Setting p (msec) j (msec) d (msec) c (msec)
S1 198 387 48 12
S2 102 70 45 7
S3 283 269 58 7
S4 354 387 17 11
S5 239 222 65 8
S6 194 260 32 5
S7 148 91 78 13
S8 114 13 14
S9 313 302 86 5
S10 119 187 89 6
◮ Power Profiles for the Device Device Name IBM Microdrive
Pa (Watt) 1.3
Ps (Watt) 0.5
Pσ (Watt) 0.1
tsw (sec) 0.012
◮ Schemes to compare: HAD-EDG & HAD-WCG ◮ Bursting and sparse traces: R u and R l ◮ Implemented using RTC ToolBox ◮ Simulated on 1.7 GHz processor
18/22
Esw (mJ) 9.6
HAD-WCG-EDF HAD-WCG-FP
0.36 0.32 0.28 0.24 0.2
0.5
0.6
0.7
2
0.8
3
4
5
Average Idle Power (Watt)
Average Idle Power (Watt)
Average Idle Power Consumption (Watt)
Deadline Factor 0.9 1Backlog (#event)
Ru
HAD-EDG-EDF HAD-EDG-FP
0.23 0.22 0.21 0.2 0.19 0.18
0.5
0.6
0.7
2
0.8
4
5
Deadline Factor 0.9 1Backlog (#event)
Rl
◮ Idle power is reduced for both traces R u and R l
19/22
3
500 450 400 350 300 250 200 150 100 50
450
EDG-EDF EDG-FP WCG-EDF WCG-FP
Number of Activations
Number of Activations
Numbers of Activations by Varying the Deadline EDG-EDF EDG-FP WCG-EDF WCG-FP
400 350 300 250 200 150 100 50
0.3
0.6
0.9
1.2
1.5
Deadline Factor Ru
0.3
0.6
0.9
1.2
Deadline Factor Rl
◮ EDG activation is varied according to the traces ◮ WCG activation is affected by the deadline 20/22
1.5
Computation Expense 14
HAD-EDG-EDF HAD-EDG-FP HAD-WCG-EDF HAD-WCG-FP
12
Computation Time (msec)
Computation Time (msec)
14
10 8 6 4 2
0.4
0.8
1.2
1.6
2
2.4
Deadline Factor (msec) Ru
HAD-EDG-EDF HAD-EDG-FP HAD-WCG-EDF HAD-WCG-FP
12 10 8 6 4 2
0.4
0.8
1.2
2
Deadline Factor (msec) Rl
◮ Both schemes require a small computation time ◮ The increment for longer relative deadline is small 21/22
1.6
2.4
Conclusion
◮ Extend online algorithms which adaptively control the on/off of a device for multiple event streams with ⊲ preemptive fixed-priority scheduling ⊲ preemptive earliest-deadline-first scheduling
◮ Guarantee hard real-time requirements with respect to both timing and backlog constraints ◮ Experiments prove the effectiveness of the algorithms
22/22
Deactivation Algorithm (HAD) The principle is to deactivate the device only when energy saving is possible. on t⊤ TBET
1
Deactivation Algorithm (HAD) The principle is to deactivate the device only when energy saving is possible. on tǫ
t⊤ TBET
1
Deactivation Algorithm (HAD) The principle is to deactivate the device only when energy saving is possible. on t⊤
tǫ TBET
1
Deactivation Algorithm (HAD) The principle is to deactivate the device only when energy saving is possible. on t⊤
tǫ TBET τ ⊤ − δ⊤
1
Deactivation Algorithm (HAD) The principle is to deactivate the device only when energy saving is possible. on t⊤
tǫ TBET τ ⊤ − δ⊤
tǫ ← min t such that α ¯ u1 (t − t ⊤ , t ⊤ ) > 0 t>t ⊤ τ ⊤ = max τ : bdf(∆, τ ) ≥ αu1 (∆ − D1 , tǫ ) δ⊤ = max 0, min{δ : αu1 (∆, tǫ ) − bdf(∆, τ ⊤ − δ) ≤ Q · w1 , ∀∆} 1
Activation Algorithms
yes .
⊥ sleep t
activation/ decision
yes active/ t ⊤ standby
deactivation/ decision no
no
◮ Worst Case Greedy (WCG) Algorithm ⊲ Time triggered reevaluation ⊲ Suitable for bursty event arrival
◮ Event Driven Greedy (EDG) Algorithm ⊲ Event triggered reevaluation ⊲ Suitable for sparse event arrival
2
Worst Case Greedy Algorithm for Activation
on
turn off
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t ⊥ turn on τ ⊥ − δ⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
t⊥
τ ⊥ − δ⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
t⊥
τ ⊥ − δ⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
t ⊥ turn on
τ ⊥ − δ ⊥τ ⊥ − δ ⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
t⊥
t⊥
τ ⊥ − δ ⊥τ ⊥ − δ ⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
t⊥
t⊥
τ ⊥ − δ ⊥τ ⊥ − δ ⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
t⊥
t ⊥ turn on
τ ⊥ − δ ⊥τ ⊥ − δ ⊥τ ⊥ − δ ⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
t⊥
t⊥
t⊥
τ ⊥ − δ ⊥τ ⊥ − δ ⊥τ ⊥ − δ ⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
t⊥
t ⊥ turn on
τ ⊥ − δ ⊥τ ⊥ − δ ⊥τ ⊥ − δ ⊥
3
Worst Case Greedy Algorithm for Activation
on
turn off
e0 t⊥
t⊥
t ⊥ turn on
τ ⊥ − δ ⊥τ ⊥ − δ ⊥τ ⊥ − δ ⊥
δ⊥
β A (∆) = αu1 (∆˘ − D1 , t ⊥ ) + w1 · B1 (∆,¯ t ⊥ ) τ ⊥ = max τ : bdf(∆, τ ) ≥ β A (∆) n o ` ´ = max 0, min{δ : αu1 (∆, t ⊥ ) − bdf(∆, τ ⊥ − δ) ≤ Q − |E(t ⊥ )| · w1 , ∀∆}
3
Event Driven Greedy Algorithm for Activation
on
turn off
4
Event Driven Greedy Algorithm for Activation
on
turn off
e0
t⊥
4
Event Driven Greedy Algorithm for Activation
on
turn off
e0
t′
t⊥
4
Event Driven Greedy Algorithm for Activation
on
turn off
e0
t⊥
turn on
t′
τ ⊥ − δ⊥
4
Event Driven Greedy Algorithm for Activation
on
turn off
e0 e1
t⊥ t⊥
turn on
4
Event Driven Greedy Algorithm for Activation
on
turn off
e0 e1
t⊥ t⊥
turn on
4
t′
Event Driven Greedy Algorithm for Activation
on
turn off
e0 e1
t⊥ t⊥
turn on τ ⊥ − δ⊥
4
t′
Event Driven Greedy Algorithm for Activation
on
turn off
e0 e1e2
t ⊥ t ⊥t ⊥
turn on
4
Event Driven Greedy Algorithm for Activation
on
turn off
e0 e1e2
t ⊥ t ⊥t ⊥
turn on
4
t′
Event Driven Greedy Algorithm for Activation
on
turn off
e0 e1e2
t′
t ⊥ t ⊥t ⊥ turn on τ ⊥ − δ⊥
4
Event Driven Greedy Algorithm for Activation
on
turn off
e0 e1e2
t′
t ⊥ t ⊥t ⊥ turn on τ ⊥ − δ⊥
4
Event Driven Greedy Algorithm for Activation
e0 e1e2
on
turn off
t′
t ⊥ t ⊥t ⊥ turn on τ ⊥ − δ⊥
δ⊥
′ ′ ′ β A (∆) = αu1 (∆ 1 (∆, ˘ − D1 , t ) + w1 · B ¯t ) ⊥ A τ = max τ : bdf(∆, τ ) ≥ β (∆) n = max 0, min{δ : αu1 (∆, t ′ ) − bdf(∆, τ ⊥ − δ) o ` ´ ≤ Q − |E(t ⊥ )| − α ¯ l1 (ǫ) · w1 , ∀∆}
4