Scheduling algorithms to reduce the static energy consumption of real-time systems
Abstract
Energy consumption is an important concern when designing embedded systems. Static consumption now dominates dynamic consumption as the semiconductor technology moves to deep sub-micron scale. This has lead to the availability of energy efficient low-power states for processors. However, integrating their use at the scheduling level to reduce the energy consumption of real-time systems requires to appropriately optimize the length of the idle periods, while still ensuring real-time constraints. This problem has not been well studied when some or all the tasks are hard real-time and are executed over a multiprocessor architecture. In this paper, we propose the first optimal multiprocessor scheduling algorithms to efficiently use the low-power states of multiprocessor architectures. We target both hard real-time systems and mixed-criticality (MC) systems, in which some tasks have a lower criticality and can therefore tolerate some deadline misses. We use a similar off-line approach for both type of systems, where the idle time is modeled using an additional task. A mixed integer linear program is then used to compute schedules that optimize the length of the idle periods, such that the most efficient low-power states can be used. On-line, we extend an existing scheduling algorithm to increase the length of the existing idle periods. Simulations show that while processors are idle, we reduce the energy consumption up to ten times while keeping the number of preemptions similar to state-of-the-art optimal multiprocessor real-time schedulers. For MC systems, a trade-off between consumption reduction and deadline misses of the low-criticality tasks can be explored.
Keywords
Algorithms
Criticality (nuclear fission)
Economic and social effects
Embedded systems
Energy efficiency
Energy utilization
Integer programming
Interactive computer systems
Multiprocessing systems
Scheduling
Scheduling algorithms
Semiconductor device manufacture
Hard real-time
Mixed criticalities
Mixed integer linear program
Multi processor architecture
Multi processor scheduling
Multiprocessor scheduling algorithms
Semiconductor technology
Static consumption
Real time systems