23
VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona State University

VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

Embed Size (px)

DESCRIPTION

VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS. D. Roychowdhury, I. Koren, C. M. Krishna University of Massachusetts, Amherst Y.-H. Lee Arizona State University. Motivation. Energy Constrained Complex Real-Time Systems are becoming increasingly important - PowerPoint PPT Presentation

Citation preview

Page 1: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

D. Roychowdhury, I. Koren, C. M. Krishna

University of Massachusetts, AmherstY.-H. Lee

Arizona State University

Page 2: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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)

Page 3: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME 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

Page 4: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 5: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 6: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 7: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 8: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 9: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 10: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 11: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

June 25, 2003

Gantt Chart (Static)

Page 12: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 13: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

June 25, 2003

Example Graph

1 23

4

5 76

22.88 2.5 26.1

26.8

11.8

14.8611.2

Page 14: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

June 25, 2003

Gantt Chart (dynamic)

Page 15: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

June 25, 2003

Key issues

Static scheduling Run-time dynamic resource

reclamation Extension to a Multi-Voltage

System

Page 16: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 17: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 18: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

June 25, 2003

Energy Saving after runtime adjustment

Task execution time uniformly

distributed in [A,100] of WCET

Page 19: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

June 25, 2003

Energy Saving due to Dynamic Resource Reclamation

Page 20: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

June 25, 2003

Energy saving over an Infinite Voltage Levels Algorithm (Zhu et al.)

voltage switching allowed only during context switching

Page 21: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

June 25, 2003

Energy saving when multiple (4) voltage levels used instead of 2

Page 22: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

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

Page 23: VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

June 25, 2003

Thank You

URL: http://www.ecs.umass.edu/ece/realtime