VOLTAGE SCHEDULING HEURISTIC for REALTIME TASK GRAPHS D

















![Energy Saving after runtime adjustment Task execution time uniformly distributed in [A, 100] of Energy Saving after runtime adjustment Task execution time uniformly distributed in [A, 100] of](https://slidetodoc.com/presentation_image_h/2f0460f54da86cabfa9b6002b3f85c8a/image-18.jpg)





- Slides: 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

Motivation n n Energy Constrained Complex Real-Time Systems are becoming increasingly important Scheduling – an effective system management entity to exploit n n n 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 n slow(v) is the factor by which processor is slower at voltage v than it is at the reference high voltage vh : n Threshold voltage is v. T n energy_per_cycle(v) is the ratio of energy consumed per cycle at voltage v to that at vh : June 25, 2003

System Assumptions n n Can run in discrete number of variable voltage levels n 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 n n 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 n n n 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 n n 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: n n For path Pk Objective function: n Minimize : June 25, 2003

Static Scheduling n n Start by keeping all tasks in low voltage Start speeding up tasks with highest weight gradually n n n We speed up the task with highest weight until some other task has a higher weight n n n 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. 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 Paths (60) 28 1 (43) 20 2 1 4 3 24 3 5 2 28 1 3 2 ->4 ->5 2 ->4 ->6 4 6 1 ->5 2 ->4 ->7 16 1 DEADLINE=93 7 3 ->7 18 2 June 25, 2003

Example Graph Paths 28 1 1 4 2 2 28 3 1 1 ->5 2 ->4 ->6 4 2 ->4 ->7 3 ->7 20 2 5 6 16 0 7 18 2 June 25, 2003

Gantt Chart (Static) June 25, 2003

Run-Time Adjustments n n n 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

Example Graph 22. 88 1 2. 5 26. 8 11. 8 5 2 26. 1 3 4 7 6 11. 2 14. 86 June 25, 2003

Gantt Chart (dynamic) June 25, 2003

Key issues n n n Static scheduling Run-time dynamic resource reclamation Extension to a Multi-Voltage System June 25, 2003

Using Multiple Voltage Levels n n 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 n n We used systems which support the following voltage-frequency combinations Voltage (V) Frequency (MHz) 1 1. 75 1000 2 1. 40 800 3 1. 20 600 4 1. 00 466 We use sparse matrix calculation as an example application June 25, 2003
![Energy Saving after runtime adjustment Task execution time uniformly distributed in A 100 of Energy Saving after runtime adjustment Task execution time uniformly distributed in [A, 100] of](https://slidetodoc.com/presentation_image_h/2f0460f54da86cabfa9b6002b3f85c8a/image-18.jpg)
Energy Saving after runtime adjustment Task execution time uniformly distributed in [A, 100] of WCET June 25, 2003

Energy Saving due to Dynamic Resource Reclamation June 25, 2003

Energy saving over an Infinite Voltage Levels Algorithm (Zhu et al. ) voltage switching allowed only during context switching June 25, 2003

Energy saving when multiple (4) voltage levels used instead of 2 June 25, 2003

Conclusion n 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 June 25, 2003

Thank You URL: http: //www. ecs. umass. edu/ece/realtime June 25, 2003