Title: Power Aware Real-time Systems
1Power AwareReal-time Systems
Rami Melhem
A joint project with profs Daniel Mosse Bruce
Childers Mootaz Elnozahy (IBM Austin)
And students Nevine Abougazaleh Cosmin Rusu Dakai
Zhu Ruibin Xu Matt Craven 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
- Static Power Management (SPM)
- Static slack uniformly slow all tasks
Weiser-1994, Yao-1995, Gruian-2000
fmax
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
16An alternate point of view
WCET
WCE
WCE
WCE
time
ACET
AV
WCE
time
PMP
stolen slack
Reclaimed slack
WCE
WCE
time
17Dynamic 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).
18Outline
- 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
19Multiprocs 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
20Slack Stealing
- Shifting Static Schedule 2-proc, D 8
D
L0
Recursive if embedded OR nodes
21Proposed 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
22Proposed Algorithms (cont)
- Actual Running Trace left branch, Ti use ai
f
- Possible Shortcomings
- Number of Speed change (overhead)
- Too greedy slow ? fast
23Proposed Algorithms (cont)
- Optimal for uniprocessor Single speed
- Energy Speed Concave
- Minimal Energy when all tasks SAME speed
24Outline
- 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
25 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
26Exploring 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
27Optimal 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
28Non-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.
29Non-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
30Triple 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
31Outline
- 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
32Saving 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
33Asymmetry in Transmit Power
- Instead of C sending directly to A, it can go
through B - Saves transmit power, but may cause some
problems.
34Problems 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.
35Problems 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.
36Wireless 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?