Energy-aware real-time scheduling in embedded multiprocessor systems

Nowadays, computer systems are everywhere. From simple portable devices such as watches and MP3 players to large stationary installations that control nuclear power plants, computer systems are now present in all aspects of our modern and every-day life. In about only 70 years, they have completely perturbed our way of life and they reached a so high degree of sophistication that they will be soon capable of driving our cars and cleaning our houses without any human intervention. As computer systems gain in responsibilities, it becomes essential that they provide both safety and reliability. Indeed, a failure in systems such as the anti-lock braking system (ABS) in cars could threaten human lives and generate catastrophic and irreversible consequences. Hence, for many years, researchers have addressed these emerging problems of system safety and reliability which come along with this fulgurant evolution. This thesis provides a general overview of embedded real-time computer systems, i.e., a particular kind of computer system whose number grows daily. We provide the reader with some preliminary knowledge and a good understanding of the concepts that underlie this emerging technology. We focus especially on the theoretical problems related to the real-time issue and briefly summarizes the main solutions, together with their advantages and drawbacks. This brings the reader through all the conceptual layers constituting a computer system, from the software level---the logical part---that specifies both the system behavior and requirements to the hardware level---the physical part---that actually performs the expected treatments and reacts to the environment. In the meanwhile, we introduce the theoretical models that allow researchers for theoretical analyses which ensure that all the system requirements are fulfilled. Finally, we address the energy consumption problem in embedded systems. We describe the various factors of power dissipation in modern technologies and we introduce different solutions to reduce this consumption. /Cette these se focalise sur un type de systemes informatiques bien precis appeles “systemes embarques temps reel”. Un systeme est dit “embarque” lorsqu’il est developpe afin de servir un but bien precis. Un telephone portable est un parfait exemple de systeme embarque etant donne que toutes ses fonctionnalites sont rigoureusement definies avant meme sa conception. Au contraire, un ordinateur personnel n’est generalement pas considere comme un systeme embarque, les concepteurs ne sachant pas a l’avance a quelles fins il sera utilise. Une grande partie de ces systemes embarques ont des contraintes temporelles tres fortes, ce qui les distingue encore plus des ordinateurs grand public. A titre d’exemple, lorsqu’un conducteur de voiture freine brusquement, l’ordinateur de bord declenche l’application ABS et il est primordial que cette application soit traitee endeans une courte echeance. Autrement dit, cette fonctionnalite ABS doit etre traitee prioritairement par rapport aux autres fonctionnalites du vehicule. Ce type de systeme embarque est alors dit “temps reel”, du a ces notions de temps et de priorites entre les applications. La problematique posee par les systemes temps reel est la suivante. Comment determiner, a tout moment, un ordre d’execution des differentes fonctionnalites de telle sorte qu’elles soient toutes executees entierement endeans leur echeance ? De plus, avec l’apparition recente des systemes multiprocesseurs, cette problematique s’est fortement complexifiee, vu que le systeme doit a present determiner quelle fonctionnalite s’execute a quel moment sur quel processeur afin que toutes les contraintes temporelles soient respectees. Pour finir, ces systemes embarques temp reel multiprocesseurs se sont rapidement retrouves confrontes a un probleme de consommation d’energie. Leur demande en terme de performance (et donc en terme d’energie) a evolue beaucoup plus rapidement que la capacite des batteries qui les alimentent. Ce probleme est actuellement rencontre par de nombreux systemes, tels que les telephones portables par exemple. L’objectif de cette these est de parcourir les differents composants de tels systeme embarques et de proposer des solutions afin de reduire leur consommation d’energie.