|
Energy-Aware Real-Time SchedulingIn collaboration with: Dr. Mohamed Younis (UMBC).Distributed real-time computing is increasingly making its way into many applications in remote and unattended setups. Space exploration and remote sensing of planetary/lunar surfaces are example of such applications. It is desirable in such systems to conserve energy in order to extend the availability of the battery powered portable devices and cope with transient problems in energy scavenging, e.g. through solar cells. Dynamic Voltage Scaling (DVS) is an effective means for minimizing the power used in computation. The DVS technology has already been incorporated in many processors produced by major companies such as AMD, and Intel. DVS enables the dynamic adjustment of the voltage and clock frequency supplied to the CPU in order to reduce power consumption. Decreasing the clock frequency decreases the CPU cycles per unit time available for processing, which increases the latency experienced by executing jobs. Therefore real-time scheduling algorithms employing DVS to obtain energy savings must also guarantee the satisfaction of the systems timing constraints. We developed a framework based on using the parametric scheduling method. In the off-line phase, the scheduler verifies the schedulability of hard real-time tasks assuming that all the processors are running at their maximum speeds. It generates parametric calendars for dispatching task instances at run-time. The framework includes a distributed dispatching mechanism that uses the parametric calendars to maximize the available slack-time at any given time. The slack is used by the on-line dispatchers to set the CPU speed to the minimum value required to meet the deadline of the next task and avoid violating any relative timing constraints. The presented power-aware dispatching framework provides a light weight mechanism (time complexity O(1)) for on-line CPU speed optimization and slack cycles reclamation. This method does not require any additional off-line calculations to create a calendar for the CPU speed based on the worst-case estimates ofjobs’ execution times. The method uses the parametric scheduling scheme which provides flexible support for inter-task relative timing constraints without degrading system schedulability. For other methods such as EDF to accommodate timing constraints, they would need to adjust the jobs’ ready-times and deadlines using the jobs’ minimum and maximum expected execution times. However, this usually results in systems becoming over-constrained and can render many systems un-schedulable. |
|
|