230 likes | 347 Views
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
E N D
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 • 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)
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 :
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
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
Key issues • Static scheduling of the assigned Task Graph • Run-time scheme for dynamic resource reclamation • Extension to a Multi-Voltage System
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 :
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
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
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
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
Example Graph 2 1 2.5 22.88 3 26.1 26.8 4 5 7 11.8 6 11.2 14.86
Key issues • Static scheduling • Run-time dynamic resource reclamation • Extension to a Multi-Voltage System
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
Simulation Results • We used systems which support the following voltage-frequency combinations • We use sparse matrix calculation as an example application
Energy Saving after runtime adjustment Task execution time uniformly distributed in [A,100] of WCET
Energy saving over an Infinite Voltage Levels Algorithm (Zhu et al.) voltage switching allowed only during context switching
Energy saving when multiple (4) voltage levels used instead of 2
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
Thank You URL: http://www.ecs.umass.edu/ece/realtime