Title: Power Aware Real-time Systems
1Power AwareReal-time Systems
Daniel Mosse
A joint project with profs Rami Melhem Bruce
Childers Mootaz Elnozahy (IBM Austin) Trying to
rope in Ahmed Amer Jose Brustoloni and everyone
else
And students Nevine Abougazaleh Cosmin Rusu Dakai
Zhu Ramesh Mishra Namrata Rastogi Sameh Gobriel
2Outline
- Introduction to real-time systems
- Introduction to power management
- Speed adjustment in frame-based systems
- Dynamic speed adjustment in multiprocessor
environment - Tradeoff between energy consumption and
reliability - Saving power in wireless networks
3Real-time systems
Hard RT systems
Soft RT systems
Periodic
Aperiodic (frame-based)
non preemptive
non preemptive
preemptive
preemptive
parallel processors
uni-processor
4REAL-TIME SYSTEMS
Hard Real Time system guarantee
deadlines
- To guarantee deadlines, we need to know worst
case execution times - Predictability need to know if deadlines may be
missed
Soft Real Time system try to
meet deadlines
- If a deadline is missed, there is a penalty
- Provides statistical guarantees (probabilistic
analysis) - Need to know the statistical distribution of
execution times
Applications
Safety critical systems, control and command
systems, robotics, Communication, multimedia
5Periodic, EDF scheduling
- n tasks with maximum computation times Ci and
periods Ti, for i1,,n.
C2, T4
C3, T7
- Dynamic priority scheduling (high priority to the
task with earlier deadline) - All tasks will meet their deadlines if
utilization is not more than 1. - Task set utilization is percentage of CPU used by
all tasks - This example
6Outline
- Introduction to real-time systems
- Introduction to power management
- Speed adjustment in frame-based systems
- Dynamic speed adjustment in multiprocessor
environment - Tradeoff between energy consumption and
reliability - Saving power in wireless networks
7Power Management
- Why What Power Management?
- Battery operated Laptop, PDA and Cell phone
- Heating complex Servers (multiprocessors)
- Power Aware maintain QoS, reduce energy
- How?
- Power off un-used parts LCD, disk for Laptop
- Gracefully reduce the performance
- CPU dynamic power Pd CefVdd2f
Chandrakasan-1992, Burd-1996 - Cef switch capacitance
- Vdd supply voltage
- f processor frequency ? linear related to Vdd
8Power Aware Scheduling
fmax
- Static Power Management (SPM)
- Static slack uniformly slow all tasks
Weiser-1994, Yao-1995, Gruian-2000
Static Slack
D
E
T1
T2
idle
time
9Power Management
- Dynamic Power Management (DPM)
- Dynamic slack non-worst execution 10
Ernst-1994 - DPM Krishna-2000, Kumar-2000, Pillai-2001,
Shin-2001
fmax
Static Slack
D
E
T1
T2
idle
time
E/4
fmax/2
T1
T2
time
- Multi-Processor
- SPM length of schedule over deadline
- DPM ???
10Outline
- Introduction to real-time systems
- Introduction to power management
- Speed adjustment in frame-based systems
- Dynamic speed adjustment in multiprocessor
environment - Tradeoff between energy consumption and
reliability - Saving power in wireless networks
11Speed adjustment in frame-based systems
Static speed adjustment
Assumption all tasks have the same deadline.
Smax
Smin
time
Select the speed based on worst-case execution
time,WCET, and deadline
12Dynamic Speed adjustment techniques for linear
code
WCET
time
PMP
PMP
ACET
time
PMP
Speed adjustment based on remaining WCET
Note a task very rarely consumes its estimated
worst case execution time.
13Dynamic Speed adjustment techniques for linear
code
Remaining WCET
time
PMP
PMP
Remaining time
time
PMP
Speed adjustment based on remaining WCET
14Dynamic Speed adjustment techniques for linear
code
Remaining WCET
time
PMP
PMP
Remaining time
time
PMP
Speed adjustment based on remaining WCET
15Dynamic Speed adjustment techniques for linear
code
time
PMP
PMP
time
Speed adjustment based on remaining WCET
16Dynamic Speed adjustment techniques for linear
code
time
PMP
PMP
time
Speed adjustment based on remaining WCET
17Dynamic Speed adjustment techniques for linear
code
WCET
WCE
WCE
WCE
time
Remaining time
ACET
Remaining av. ex. time
AV
AV
Smax
time
PMP
Smax
WCE
WCE
time
Speed adjustment based on remaining average
execution time
18An alternate point of view
WCET
WCE
WCE
WCE
time
ACET
AV
WCE
time
PMP
stolen slack
Reclaimed slack
WCE
WCE
time
19Dynamic Speed adjustment techniques for
non-linear code
PMP
p1
p3
p2
min
average
max
At a
PMP
- Remaining WCET is based on the longest path
- Remaining average case execution time is based on
the branching probabilities (from trace
information).
20Greedy dynamic speed adjustment
correct
- Giving reclaimed slack to the next ready task is
not always a correct scheme
incorrect
PMP
- Theorem A reclaimed slack has to be associated
with a deadline and can be given safely to a task
with an earlier or equal deadline.
21aggressive dynamic speed adjustment
- Theorem if tasks 1, , k are ready and will
complete before the next task arrival, then we
can swap the time allocation of the k tasks. That
is we can add stolen slack to the reclaimed slack
PMP
- Experimental rule Do not be very aggressive and
reduce the speed of a task below a certain speed
(the optimal speed determined by Uav )
22Outline
- Introduction to real-time systems
- Introduction to power management
- Speed adjustment in frame-based systems
- Dynamic speed adjustment in multiprocessor
environment - Tradeoff between energy consumption and
reliability - Saving power in wireless networks
23Multiprocs and AND/OR Applications
- Real-Time Application
- Set of tasks
- Single Deadline
- Directed Acyclic Graph (DAG)
- Comp. (ci, ai)
- AND (0,0)
- OR (0,0) probabilities
Ti
24Slack Stealing
- Shifting Static Schedule 2-proc, D 8
D
L0
Recursive if embedded OR nodes
25Proposed Algorithms
- Greedy algorithm, two phases
- Off-line longest task first heuristic Slack
stealing via shifting LSTi , EOi - On-line
- Same execution order
- Claim the slack LSTi ti (ti?LSTi)
- Compute speed
- Meet timing requirement Zhu-2001
26Proposed Algorithms (cont)
- Actual Running Trace left branch, Ti use ai
f
- Possible Shortcomings
- Number of Speed change (overhead)
- Too greedy slow ? fast
27Proposed Algorithms (cont)
- Optimal for uniprocessor Single speed
- Energy Speed Concave
- Minimal Energy when all tasks SAME speed
28Outline
- Introduction to real-time systems
- Introduction to power management
- Speed adjustment in frame-based systems
- Dynamic speed adjustment in multiprocessor
environment - Tradeoff between energy consumption and
reliability - Saving power in wireless networks
29 Tradeoff energy dependability
- Basic hypothesis
- Dependable systems must include redundant
capacity in either time or space (or both) - Redundancy can also be exploited to reduce power
consumption
Time redundancy (checkpointing and rollbacks)
Space redundancy
30Exploring time redundancy
The slack can be used to 1) add checkpoints 2)
reserve recovery time 3) reduce processing
speed
Smax
For a given number of checkpoints, we can find
the speed that minimizes energy consumption,
while guaranteeing recovery and timeliness.
deadline
31Optimal number of checkpoints
More checkpoints more overhead less recovery
slack
r
For a given slack (C/D) and
checkpoint overhead (r/C), we can find the number
of checkpoints that minimizes energy
consumption, and guarantee recovery and
timeliness.
C
D
Energy
of checkpoints
32Non-uniform check-pointing
Observation May continue executing at Smax
after recovery.
Disadvantage increases energy consumption when a
fault occurs (a rare event)
Advantage recovery in an early section can use
slack created by execution of later sections at
Smax
Requires non-uniform checkpoints.
33Non-uniform check-pointing
Can find of checkpoints, their
distribution, and the CPU speed such that
energy is minimized, recovery is guaranteed
and deadlines are met
34Optimal number of checkpoints
More checkpoints more overhead less recovery
slack
r
- For a given
- slack (C/D) and
- checkpoint overhead (r),
- we can find the number of checkpoints
- that
- minimizes energy consumption, and
- guarantee recovery and timeliness.
C
D
Energy
of checkpoints
35Triple Modular Redundancy vs. Duplex
TMR vote and exclude the faulty result
Duplex Compare and roll-back if different
results
r
overhead of checkpoint
Load
slack in the system
p
ratio of static/dynamic power
r
r
TMR is more Energy efficient
Load0.6
Load0.7
Load0.7
0.035
Load0.5
Duplex is more Energy efficient
0.02
p
p
0.1
0.2
Energy efficiency of TMR Vs. Duplex depends on r,
p , and load
36Including the hardware cost
Assuming the same number of processors and a
given task set, to obtain the same reliability,
will it be more energy efficient to use TMR or
Duplex? Example 6 processors and 6 identical
tasks.
Need to look at - the fault model, - the
energy model and - the overheads. - the
communication cost
37Reconfigurable clusters of servers
Simplex mode
Reconfigure your cluster to - achieve required
reliability - minimize energy consumption -
optimize performance - meet quality of service
Duplex mode
TMR mode
Inactive processors
- Example
- At a given servers speed, it is more energy
efficient to activate an additional server than
to increase the speed of the active servers. - At a given servers speed, it is more energy
efficient to power down one of the servers than
to reduce the speed of the active servers
38Outline
- Introduction to real-time systems
- Introduction to power management
- Speed adjustment in frame-based systems
- Dynamic speed adjustment in multiprocessor
environment - Maximizing computational reward for given energy
and deadline - Tradeoff between energy consumption and
reliability - Saving power in wireless networks
39Saving Power
- Power is proportional to the square of the
distance - The closer the nodes, the less power is needed
- Power-aware Routing (PARO) identifies new nodes
between other nodes and re-routes packets to
save energy - Nodes decide to reduce/increase their transmit
power
40Asymmetry in Transmit Power
- Instead of C sending directly to A, it can go
through B - Saves transmit power, but may cause some
problems.
41Problems due to one-way links.
- Collision avoidance (RTS/CTS) scheme is impaired
- Even across bidirectional links!
- Unreliable transmissions through one-way link.
- May need multi-hop Acks at Data Link Layer.
- Link outage can be discovered only at downstream
nodes.
42Problems for Routing Protocols
- Route discovery mechanism.
- Cannot reply using inverse path of route request.
- Need to identify unidirectional links. (AODV)
- Route Maintenance.
- Need explicit neighbor discovery mechanism.
- Connectivity of the network.
- Gets worse (partitions!) if only bidirectional
links are used.
43SRL Sub Routing Layer
- Short reverse routes for one-way links
- Improve connectivity substantially.
- Also decrease route lengths.
- SRL discovers and maintains reverse routes for
one-way links. - It provides a bidirectional abstraction to the
routing protocols. - Provides services such as reliable transmission
and link breakage detection.
44Optimization 1 Dynamic SRL
- The SRL radius of each node could be different.
- Each node increases radius until it can find
reverse routes. - Radius decreases if reverse routes are shorter
than the radius. - Decreases the number of updates that is
neighbor-cast lower overhead.
45Optimization 2 On-demand DSRL
- Routing protocol requests DSRL to find reverse
routes for certain one-way links. - Reverse routes maintained only for the chosen
one-way links. - Routing strategy that uses one-way links only
when route discovery along bidirectional links
fail.
46Wireless bandwidth and Power savings
- In addition to transmit power, what else can we
do to save energy? - Power has a direct relation with signal to noise
ratio (SNR) - The higher the power, the higher the signal, the
less noise, the less errors, the more data a node
can transmit - Increasing the power allows for higher bandwidth
- Is it useful to explore the power/bandwidth
problem? Is it easy to characterize the problem?
47Future work
- In the future well talk about (or youll have a
project in!) - Maximizing computational reward for given energy
and deadline - Real-time power-aware disks
- Rechargeable systems
- Combination of network and compute nodes energy
savings - Voice interface for saving energy
- Operating systems implementations
- Compiler/OS combined efforts
- You name your favorite project