Real-Time Power-Aware Embedded Systems Design
Whenever designing embedded systems, diverse constraints may have to be considered in order to satisfy system requirements, such as reliability, energy consumption, timing, and so on. Lately, considerable special attention has been devoted to energy consumption, mainly due to the following factors:
· Advances in microelectronics have allowed the development of embedded systems with several complex features as well as with reduced size, making possible the rapid emerging of powerful mobile devices. These devices generally rely on constrained energy sources (e.g. battery), in such a way if the energy source is depleted, the system stops functioning. Hence, energy saving becomes of utmost in order to prolong battery lifetime in such devices;
· Global warming has increased environmental concerns related to energy production, since this is one of the greatest sources of air pollution. As embedded systems are practically ubiquitous, reducing energy consumption in such systems may contribute to a lesser environmental pollution.
Over the last years, DVS (Dynamic Voltage Scaling) has been adopted as one of the most effective techniques for reducing energy consumption in embedded systems. Adjusting CPU supply voltage has great impact on energy consumption, since the consumption is proportional to the square of supply voltage in CMOS microprocessors. However, lowering the supply voltage linearly affects the maximum operating frequency. Therefore, DVS may be seen as a technique for trading-off energy consumption and performance.
When considering ordinary mobile embedded systems, DVS may be directly applied without arising important issues. Nevertheless, in real-time systems, DVS needs to be adopted with caution, since responsiveness may be greatly affected. In hard real-time systems, catastrophic issues may occur due to timing constraint violations, which can lead to equipment damage or even loss of human life. Thus, several scheduling approaches, mainly based on runtime techniques, have been developed in order to cope with DVS in time-critical systems. However, simplified system specifications are generally considered, mainly, neglecting precedence and exclusion relations. Additionally, there are situations in which finding a feasible schedule using an runtime approach is not possible, even if such a schedule exist. This situation may become more severe when contemplating arbitrary precedence and exclusion relations. Furthermore, overheads, such as preemptions and frequency/voltage switching, are disregarded by most works. Indeed, if overheads are neglected, tasks’ constraints may be affected and even the gains obtained with DVS may be significantly reduced.
This project aims defining and implementing defining models, methods for evaluation and design of hard real-time embedded systems considering dynamic voltage scaling, task’s overheads, precedence and exclusion relations.