A Method for Recovering Real-Time Tasks while Minimizing Power Consumption
Original Publication Date: 2001-Oct-22
Included in the Prior Art Database: 2003-Jun-18
A Method for Recovering Real-Time Tasks while Minimizing Power Consumption Slack that exists in a schedule is useful for fault tolerance purposes, for example, to restart a task, or a part of a task, after a fault occurs. Checkpoints are necessary in situations where the slack in scheduling may not allow an entire task to restart. This slack can be useful to simultaneously tolerate failures and reduce the energy consumption of the system. The idea is simple and intuitive. During failure-free operation, the slack is exploited to conserve energy by slowing down the processor such that the tasks can meet their deadlines and also recover from potential failures. If a failure occurs, the processor is set to operate at maximum speed (and consequently maximum energy consumption) to re-execute the lost computation. This work is relevant in real-time systems where reliability and low power consumption are required. Examples include autonomous airborne and seaborne systems working on limited battery supply, space systems working on a limited combination of solar and battery power supply, or time-sensitive systems deployed in remote locations where a steady power supply is not available. This article presents two checkpoint placement policies. The first is the standard, straightforward periodic checkpointing. Under this policy, it is necessary to compute the optimal number of checkpoints that are necessary to minimize the energy consumption, subject to the constraints of recovering from a single failure and completing before the task's deadline. Depending on the workload, the analysis shows that substantial energy conservation is possible, especially for lightly loaded systems with efficient checkpointing---the resulting energy savings can reach 64% compared to the case when only failure recovery is considered. The second checkpoint placement policy takes a more aggressive approach at reducing processor speed, resulting in more energy savings than can be obtained by the uniform placement alone. Again, depending on the workload and the checkpointing efficiency, up to 68% reduction in energy savings can be obtained.