Real-Time Power-Aware Embedded Systems Design
Whenever designing embedded systems, various constraints may have to be considered 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 sophisticated 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 the utmost to prolong battery life in such devices;
- Global warming has increased environmental concerns related to energy production since this is one of the most significant sources of air pollution. As embedded systems are practically ubiquitous, reducing energy consumption in such systems may contribute to 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 a significant impact on energy consumption since the use is proportional to the square of the 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 conventional mobile embedded systems, DVS may be directly applied without arising essential issues. Nevertheless, in real-time systems, DVS needs to be adopted with caution, since responsiveness may be significantly affected. In hard real-time systems, catastrophic problems 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 to cope with DVS in time-critical systems. However, simplified system specifications are generally considered, primarily, neglecting precedence and exclusion relations.
Additionally, there are situations in which finding a possible schedule using a runtime approach is not possible, even if such a program 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 costs are neglected, tasks’ constraints may be affected, and even the gains obtained with DVS may be significantly reduced.
This project aims to define and to implement defining models, methods for evaluation and design of hard real-time embedded systems considering dynamic voltage scaling, task’s overheads, precedence, and exclusion relations.