1 / 23

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, Amherst Y.-H. Lee Arizona State University. Motivation. Energy Constrained Complex Real-Time Systems are becoming increasingly important

Download Presentation

VOLTAGE SCHEDULING HEURISTIC for REAL-TIME TASK GRAPHS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. 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)

  3. 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 :

  4. 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

  5. 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

  6. Key issues • Static scheduling of the assigned Task Graph • Run-time scheme for dynamic resource reclamation • Extension to a Multi-Voltage System

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

  8. 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

  9. 2 2 4 4 6 6 Example Graph Paths 1->5 2->4->5 2->4->6 2->4->7 3->7 1 (60) 28 4 3 28 1 3 1 24 3 5 7 (43) 20 16 18 2 1 2 DEADLINE=93

  10. 3 28 1 3 7 18 7 Example Graph Paths 1->5 2->4->5 2->4->6 2->4->7 3->7 1 28 4 2 1 2 24 4 2 5 20 16 6 2 0 2

  11. Gantt Chart (Static)

  12. 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

  13. Example Graph 2 1 2.5 22.88 3 26.1 26.8 4 5 7 11.8 6 11.2 14.86

  14. Gantt Chart (dynamic)

  15. Key issues • Static scheduling • Run-time dynamic resource reclamation • Extension to a Multi-Voltage System

  16. 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

  17. Simulation Results • We used systems which support the following voltage-frequency combinations • We use sparse matrix calculation as an example application

  18. Energy Saving after runtime adjustment Task execution time uniformly distributed in [A,100] of WCET

  19. Energy Saving due to Dynamic Resource Reclamation

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

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

  22. 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

  23. Thank You URL: http://www.ecs.umass.edu/ece/realtime

More Related