Robustesse des applications temps-réel multicoeurs : techniques de construction d'un ordonnacement équitable tolérant aux pannes matérielles
Auteur / Autrice : | Yves Mouafo Tchinda |
Direction : | Annie Choquet-Geniet, Gaëlle Largeteau-Skapin |
Type : | Thèse de doctorat |
Discipline(s) : | Informatique et applications |
Date : | Soutenance le 12/10/2017 |
Etablissement(s) : | Chasseneuil-du-Poitou, Ecole nationale supérieure de mécanique et d'aérotechnique |
Ecole(s) doctorale(s) : | École doctorale Sciences et ingénierie pour l'information, mathématiques (Limoges ; 2009-2018) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'Informatique et d'Automatique pour les Systèmes / LIAS |
Jury : | Président / Présidente : Emmanuel Grolleau |
Examinateurs / Examinatrices : Julien Forget | |
Rapporteurs / Rapporteuses : Maryline Chetto, Claire Pagetti |
Résumé
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.