Robustesse des applications temps-réel multicoeurs : techniques de construction d'un ordonnacement équitable tolérant aux pannes matérielles / Yves Mouafo Tchinda ; sous la direction de Annie Choquet-Geniet et de Gaëlle Largeteau-Skapin

Date :

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : français / French

Temps réel (informatique)

Systèmes embarqués (informatique)

Commande de processus

Systèmes informatiques -- Pannes

Tolérance aux fautes (informatique)

Analyse Pire Cas

Microprocesseurs multi-coeurs

Choquet-Geniet, Annie (1961-....) (Directeur de thèse / thesis advisor)

Largeteau-Skapin, Gaëlle (1977-....) (Directeur de thèse / thesis advisor)

Grolleau, Emmanuel (1973-....) (Président du jury de soutenance / praeses)

Chetto, Maryline (1959-....) (Rapporteur de la thèse / thesis reporter)

Pagetti, Claire (1975-... ; ingénieure de recherche en informatique) (Rapporteur de la thèse / thesis reporter)

Forget, Julien (19..-....) (Membre du jury / opponent)

Ecole nationale supérieure de mécanique et d'aérotechnique (Chasseneuil-du-Poitou, Vienne, département) (Organisme de soutenance / degree-grantor)

École doctorale Sciences et ingénierie pour l'information, mathématiques (Limoges ; 2009-2018) (Ecole doctorale associée à la thèse / doctoral school)

Résumé / Abstract : Cette thèse propose des techniques de construction d'une séquence d'ordonnancement valide par un algorithme équitable pour des systèmes temps-réel multicoeurs subissant des pannes processeurs permanentes. Selon la nature des tâches les concepteurs peuvent allouer ou pas du temps supplémentaire pour récupérer l'exécution perdue. Dans un premier temps, nous traitons le cas de la défaillance d'un seul coeur. Nous montrons alors que s'il n'y a pas d'allocation de temps supplémentaire, prévoir un coeur de plus que le minimum nécessaire permet de construire une séquence valide : c'est la Technique de la Redondance Matérielle Limitée. Toutefois, si une telle allocation s'impose, nous proposons trois techniques : la Technique des Sous-tâches de Substitution qui augmente le WCET des tâches afin de prévoir du temps additionnel en remplacement du temps perdu, la Technique Contraindre puis Relâcher qui crée une marge de temps entre le délai critique et la période d'une tâche pour rattraper l'exécution perdue et la Technique du Flux Apériodique (TFA) qui réordonnance l'exécution perdue dans les unités de temps creux équitablement réparties. Ensuite, l'utilisation conjointe de ces techniques est envisagée en fonction de la nature des tâches impactées. Enfin, le cas de la défaillance de plusieurs coeurs est étudié. Pour ajuster la charge du système au nombre de coeurs fonctionnels, deux approches sont proposées : le changement de mode de criticité qui modifie les paramètres temporels de certaines tâches et l'abandon de certaines tâches en fonction de leur importance dans le système.

Résumé / Abstract : This thesis proposes several techniques to build a valid schedule with a Pfair algorithm for multicore real-time systems despite permanent processor failures. Depending on the nature of the tasks, additional time may be allocated or not to recover the lost execution. First, we consider a single core failure. We then show that if no additional time is allocated, the use of a single more core than the required minimum provides a valid schedule : it is the Limited Hardware Redundancy Technique. However, if full recovery is mandatory, we propose three techniques : the Substitute Subtasks Technique which increases the WCET to provide additionnal time which can be used to recover the lost time, the Constrain and Release Technique which creates a time margin between each task's deadline and the following period which can be used to recover the lost execution and the Aperiodic Flow Technique which reschedules the lost execution within the idle time units. Then, these techniques are mixed to adapt the scheduling behaviour to the nature of the impacted tasks. Finally, the case of the failure of several cores is studied.To adapt the system load to the number of remaining functionnal cores we use the criticality mode change which modifies the temporal parameters of some tasks or we discard some tasks according to their importance.