Title: Battery Aware Dynamic Scheduling for Periodic Task Graphs
1Battery Aware Dynamic Scheduling for Periodic
Task Graphs
- Venkat Rao , Nicolas Navet , Gaurav Singhal ,
Anshul Kumar?, GS Visweswaran? - TRIO Group, INRIA-Lorraine /LORIA.
- Dept of ECE, UT Austin, ?Dept of CSE, IIT Delhi
- ?Dept of EE, IIT Delhi
2Introduction
Mobile Embedded Systems Design
- Battery lifetime is major constraint
- Slow growth in energy densities not keeping up
with increase in power consumption - Extension of battery lifetime and not just low
energy design the REAL GOAL
3Traditional approaches to energy optimization
- CMOS Energy and power
- Energy a V2
- Power a V2.f
- fmax a V
- Dynamic Voltage Scaling (DVS)
- busy system gt increase Vdd, frequency
- idle system gt decrease Vdd, frequency
- Potential to achieve quadratic energy and cubic
power savings.
4Variable-supply Architectures
- High-efficiency adjustable DC-DC converter
- View from battery side
- Vbat is constant and depends on battery
technology( 1.2 V for NiMh, 3.6-4.2 V for Li ion) - High Vdd translates to high Ibat
SoC
Vsys X Isys µ X Vbat X Ibat
Power Manager
Clkgen
Vsys
Switching DCDC regulator
Battery
Vbat
Isys
WK to f
f to Vdd
Ibat
Vset
5Battery Basics
- Battery characterized by Voc and Vcut.
- Battery lifetime governed by active species
concentration at electrode-electrolyte interface. - Phenomenon governing battery lifetime
- Rate Capacity Effect
- high load current implies lower charge
delivered. - Recovery Effect
charge recovered by giving idle slots -
6Diffusion Model- Rakhmatov, Vrudula et al.
After a recent discharge
Fully charged battery
Electrode
Electrode
Fully discharged
After Recovery
Electrode
Electrode
Electro-active species
- Analytically very sound but computationally
intensive - Cannot be used for online scheduling decisions.
7Battery Aware Scheduling
- Guideline 1 For a set of schedulable tasks (t0,
t1tN) having corresponding currents costs (I0,
I1IN) scheduling them in decreasing order of
current costs is the optimum battery
solution.Rakhmatov03
Ibat
time
8Battery Aware Scheduling
- Guideline 2 For a given task t to be executed
before a given deadline d its better to lower the
frequency and run without giving an idle slot
than give an idle slot and run at a higher
frequency.Rakhmatov03
freq
freq
idle
time
time
d
d
9Problem Definition
To find a battery efficient schedule for a given
a set of periodic tasks graphs (T1, T2, ....Tn)
which have corresponding deadlines (D1,D2,
.....Dn) equal to their periods, where a
taskgraph Ti comprises of any m interdependent
nodes, each of which are in themselves tasks with
given worst case computations (wci1, wci2,
......wcim).
Precendence constraint
wci
T3D3
T2 D2
T1 D1
10Our Methodology
- There are 2 aspects to the problem
- Global Frequency Setting
- Local order of execution of nodes
Task Graphs
nodes
WCis Dis
Ready list
fcurr
Frequency Setting
DVS Algorithm
next node
Priority function for max slack recovery
Local Task Order
11Global Frequency Setting
- To calculate the min frequency that can ensure
all subsequent deadlines are met.
upon release( Taskgraph Ti ) 1 WCi å wcij 2
select_frequency( ) upon end_of_node( tij ) 1
WCi WCi acij - wcij 2 select frequency(
) select_frequency ( ) 1 U å WCi/Di 2 fref
U Fmax , return fref
Modified ccEDF algorithm from pillai01
wcij WCET of the jth node of the ith task graph at fmax
acij Actual exec time for jth node of the ith task graph at fmax
Di Deadline for the ith task graph
tij The jth node of the ith task graph whose execution just ended.
12Global Frequency Setting
- Follows EDF so works up to U 100
- Ensures all deadlines are met.
- Ensures a Non Increasing discharge profile for
set of jobs (set of instances of periodic tasks)
re-computing speed
freq
time
d
13Local order of execution
- Slack Recovery maximization.
- Worst case seldom arrives leading to dynamic
slack - Order of execution effects dynamic slack recovery
- Important to choose the order optimally
- A priority function needs to be chosen
- Heuristics like LTF and STF work well in specific
cases - pUBS a near optimal priority function from
Gruian02
14Ready List
- Ready list comprising of nodes from current(EDF)
Task graph only.
D3
D2
D1
Ready list
D1 lt D2 lt D3
Priority function
Execute
15Ready list comprising of nodes from current Task
graph only
- Advantages
- Follows EDF so ensures meeting of deadlines
- Simple to implement
- Disadvantages
- Limited choice for the priority function.
- Limited slack recovery.
16Ready List
- Ready list comprising of nodes from all released
Task graphs.
D3
D2
D1
Ready list
D1 lt D2 lt D3
Priority function
Execute
17Ready list comprising of nodes from all released
Task graphs
- Advantages
- More choice for the priority function.
- Better slack recovery hence lower energy
consumption - Disadvantages
- Out of EDF execution hence deadline can be missed
Need For additional feasibility check
18Ready List
- Ready list comprising of nodes from all released
Task graphs.
D3
D2
D1
Ready list
D1 lt D2 lt D3
Feasibility check
Priority function
Execute
19Feasibility check
- Check to ensure that an out of EDF execution will
not cause a deadline miss - Or more stringently will not cause the raising of
frequency later for meeting deadlines - For task belonging to EDF order k, k-1 checks
are required.
Feasibility Check ( tij ) flag 1 for (k1 to
j-1) if (åWCk wcij gt fcurr X Dk Tcurr ) Flag
0 return flag
20Simulations
- C simulations were conducted to test our
methodology - The DVS enabled processor simulated supports the
following 3 frequency-voltage tuples (0.5GHz,3
V), (0.75GHz,4V), (1.0GHz,5V). - Task graphs were generated from TGFF with random
dependencies - Utilization of the system was kept to 70
- Stochastic battery model from G.Singhal05 was
used to estimate battery life for the profiles
generated by various scheduling algorithms - Simulated for NiMH AAA Panasonic batteries with
max capacity of 2000mAh and nominal capacity of
1600mAh
21Simulation Results Battery lifetime and charge
delivered.
- Results were obtained by averaging performance of
the various algorithms over 100 random taskgraph
sets - Battery Aware Schedule 2 delivers maximum battery
life amongst the schemes compared -
22Conclusion
- We have presented a Battery-aware Scheduling
Methodology that facilitates the combining of a
good DVS algorithm with a heuristic based
priority function for scheduling of taskgraphs. - Simulations suggest that our methodology performs
up to 47 better than ccEDF and upto 23.3 better
than laEDF scheduling schemes in terms of battery
lifetime. - It can result in up to 100 improvement in
battery lifetime over systems with no DVS.
23References and Credits
- 1 V. Rao and G. Singhal. Integrated power
management for embedded systems. Bachelors
Thesis, Indian Institute of Technology, Delhi,
2005. - 2 F.Yao, A Demers and S Shenkers. A Scheduling
Model for Reduced CPU energy. IEEE 1995. - 3 P. Pillai and K. G.Shin. Real time dynamic
voltage scaling for low powered embedded systems.
Operating Systems Review, 3589102, October
2001. - 4 S. Vrudhula and D. Rakhmatov. Energy
management for battery powered embedded systems.
ACM Transactions on Embedded Computing Systems,
pages 277 324, August 2003. - 5 J. Luo and N. K. Jha. Battery-aware static
scheduling for distributed real-time embedded
systems. In DAC01 Proceedings of the 38th
conference on Design automation, 2001. - 6 Gruian F., Energy-Centric Scheduling for
Real-Time Systems, PhD thesis, Lund Institute of
Technology, 2002. - 7 V. Rao, G. Singhal, A. Kumar, and N. Navet.
Battery model for embedded systems. In
Proceedings of International Conference on VLSI
Design, pages 105110, January 2005. - 8 V. Rao, G. Singhal, and A. Kumar. Real Time
Dynamic Voltage Scaling for Embedded Systems. In
Proceedings of International Conference on VLSI
Design, pages 650653, January 2004.
24Thank You
25Battery Models
Advantages Disadvantages
PDE (higher forms of KiBaM) Accurate Slow, involves a large number of parameters
Circuit Use capacitor and resistors to represent battery Not accurate, elements change value depending conditions
Stochastic Relatively accurate and fast. Still in the process of development.
Still Too computationally intensive for use at
runtime
26Rate Capacity Effect
- Total charge delivered by the battery goes down
with the increase in load current. - Concentration of active species at interface
falls rapidly with increasing load current. - Battery seems discharged when the concentration
at interface becomes zero.
Rate Capacity Effect
back
27Recovery Effect
- Battery recovers capacity if given idle slots in
between discharges. - Diffusion process compensates for the low
concentration near the electrode. - Battery can support further discharge.
Intermittent Discharge
Cell Voltage
Continuous discharge
Elapsed time of discharge
Recovery Effect
back
28Simulation ResultsEffect of ready list on
energy consumption
At Utilization 70 and actual computation times
varying from 20 to 70
Energy consumption (normalized w.r.t optimal
schedule) by various scheduling policies for
different number of tasks in a taskgraph
29Simulation ResultsEffect of priority function
on energy consumption
At Utilization 70 and actual computation times
varying from 20 to 70. Ready list comprises of
most imminent.
Energy consumption (normalized w.r.t optimal
schedule) by various scheduling policies for
different number of tasks in a taskgraph
30Kinetic Battery Model
- Simplest PDE model to explain both recovery and
rate capacity. - Available and Bound charge wells
- Dynamic transfer of charges governed by a rate
constant and difference in heights.
31- Introduction
- Battery Basics
- Rate Capacity Effect
- Recovery Effect
- Related Work Review of relevant models
- Scheduling Problem
- Our Methodology.
- Simulation and Results
- Conclusion