Adaptive Power Management for Real-Time Event ... - ASP-DAC 2019

0 downloads 0 Views 4MB Size Report
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



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

Suggest Documents