voltage scheduling heuristic for real-time task graphs d. roychowdhury, i. koren, c. m. krishna...
TRANSCRIPT
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS
D. Roychowdhury, I. Koren, C. M. Krishna
University of Massachusetts, AmherstY.-H. Lee
Arizona State University
June 25, 2003
Motivation Energy Constrained Complex Real-Time
Systems are becoming increasingly important
Scheduling – an effective system management entity to exploit Schedule tasks such that energy expenditure is
minimized while still meeting the deadline Exploit multiple voltage levels provided by
processors to achieve our goal We focus on applications having tasks with
precedence constraints (can be represented as task graphs)
June 25, 2003
CMOS system equations slow(v) is the factor by which processor is
slower at voltage v than it is at the reference high voltage vh :
Threshold voltage is vT
energy_per_cycle(v) is the ratio of energy consumed per cycle at voltage v to that at vh :
2
)(
T
Th
h vv
vv
v
vvslow
2
)(__
hv
vvcycleperenergy
June 25, 2003
System Assumptions Can run in discrete number of variable voltage
levels Algorithms are provided for a 2-voltage
level system followed by extensions for systems supporting multiple voltage levels
A task can only continue if all preceding tasks on which it depends complete
The energy cost during communication and idle state in processors is negligible
Voltage switching costs are incorporated within the worst scale profiling of tasks
June 25, 2003
Required Inputs Task graph (directed acyclic graph)
showing the precedence constraints between the tasks after their assignment
Deadline by which the given task set must finish
Worst case execution profile of individual tasks under different voltage levels
Distribution of execution profile of each task
June 25, 2003
Key issues
Static scheduling of the assigned Task Graph
Run-time scheme for dynamic resource reclamation
Extension to a Multi-Voltage System
June 25, 2003
Optimization Problem
D - Deadline Si - speed up in time associated with task i tk - worst case time when all tasks in path
Pk run in low voltage Constraint equations:
For path Pk
Objective function: Minimize :
DtskPj
kj
ii s
June 25, 2003
Static Scheduling Start by keeping all tasks in low voltage Start speeding up tasks with highest weight gradually
Weight of a task is number of critical paths of which that task is a member
Critical path is a path that currently fails to meet its deadline under worst case execution profile.
We speed up the task with highest weight until some other task has a higher weight For the tasks with equal weights break the tie by speeding
up the task nearest to a leaf in graph We continue until all paths meet the deadline Assign start time and commit time for each task
based on the above voltage scheduling
June 25, 2003
Example Graph
1 3
5 7
2
4
6
28
4 28
24
20
16
18
Paths
1->5
2->4->5
2->4->6
2->4->7
3->7
1
2 1 2
1
3
3
DEADLINE=93
(60)
(43)
2
4
6
June 25, 2003
Example Graph
1 2
4
5 6
28
4
24
20
16
Paths
1->5
2->4->5
2->4->6
2->4->7
3->7
1
2 0 2
3
7
28
18
1
2
23
7
June 25, 2003
Run-Time Adjustments
Each task has an assigned start time and commit time from static scheduling
If a task can be issued before its statically assigned start time, we can slow down the task to save energy
The slow down must still yield same commit time
June 25, 2003
Key issues
Static scheduling Run-time dynamic resource
reclamation Extension to a Multi-Voltage
System
June 25, 2003
Using Multiple Voltage Levels
Calculate start time and commit time for tasks using the static scheduling
Vunique - voltage at which we can finish task within specified interval without voltage switching
2 voltage levels are chosen within which Vunique falls
The switching point is chosen between the two levels such that task finishes exactly at commit time
June 25, 2003
Simulation Results
We used systems which support the following voltage-frequency combinations
We use sparse matrix calculation as an example application
Voltage (V)
Frequency(MHz)
1 1.75 1000
2 1.40 800
3 1.20 600
4 1.00 466
June 25, 2003
Energy Saving after runtime adjustment
Task execution time uniformly
distributed in [A,100] of WCET
June 25, 2003
Energy saving over an Infinite Voltage Levels Algorithm (Zhu et al.)
voltage switching allowed only during context switching
June 25, 2003
Conclusion
Considerable energy can be saved by using our algorithm which takes into account the relationship among tasks in the set
The algorithm is based on a practical assumption that processor supports two voltage levels
We have extended the algorithm for cases which can use multiple voltage levels though the gain is not much more significant than two voltage level case