230 likes | 355 Vues
The increasing importance of energy-constrained complex real-time systems necessitates effective scheduling techniques aimed at minimizing energy expenditure while adhering to task deadlines. This research explores the use of multiple voltage levels offered by processors to optimize task execution within a directed acyclic task graph framework. By applying static scheduling algorithms and dynamic resource reclamation, we enable runtime adjustments that balance energy efficiency and task completion. Our algorithm demonstrates substantial energy savings while respecting precedence constraints and ensuring timely task execution.
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