Energy consumption can be an important design parameter for embedded real-time systems. Dynamic(or software-controlled) power management(DPM) has emerged as an attractive alternative to inflexible hardware solutions. I/O-based DPM techniques, however, have been extensively researched in non-real-time systems. These techniques focus on switching I/O devices to low power states based on various policies and are not applicable to real-time environments because of the non-deterministic nature of the policies. The challenge in saving energy in embedded real-time systems is thus to reduce power consumption while preserving temporal correctness. Thus, not having the online schedulability check algorithm, the previous works on I/O-based DPM for real-time system was based on a given input schedule of task execution. Systems based on these offline-generated schedules cannot use the runtime behavior of system that will lead them to more energy saving.
To address this problem, we introduce an online schedulability check algorithm for non-preemptive real-time systems. It can be used for generating alternative task execution sequence for hard real-time systems that reduces the energy consumption of I/O devices. We present some results of preliminary experiments to show that it can be used to generate a preferable task sequence without task deadline misses.
Based on the runtime schedulability check algorithm, we propose runtime task and device scheduling algorithms for I/O device energy savings. The task scheduler takes as input a device-usage list for each task and it generates a sequence of task execution for more device energy saving. We also propose two non-work-conserving scheduling schemes for merging short-period idle times and distributing idle times for more energy savings. The device scheduler controls the power states for each device such that the energy consumption of the device for a given task execution sequence is minimized. It also guarantees timing constr...