Thèse soutenue

Analyse et ordonnancement d’un système hiérarchique virtualisé composé d’applications temps réel strictes
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Tristan Fautrel
Direction : Laurent George
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance le 06/05/2021
Etablissement(s) : Université Gustave Eiffel
Ecole(s) doctorale(s) : École doctorale Mathématiques, Sciences et Technologies de l'Information et de la Communication (Champs-sur-Marne, Seine-et-Marne ; 2015-....)
Partenaire(s) de recherche : Laboratoire : Laboratoire d'informatique de l'Institut Gaspard Monge (1997-2009) - Laboratoire d'informatique de l'Institut Gaspard Monge
Jury : Président / Présidente : Joël Goossens
Examinateurs / Examinatrices : Laurent George, Laurent Pautet, Maryline Chetto, Liliana Cucu, Frédéric Fauberteau, Thierry Grandpierre
Rapporteurs / Rapporteuses : Laurent Pautet, Maryline Chetto

Résumé

FR  |  
EN

Dans le contexte des villes intelligentes, le concept de véhicule autonome prend de l’importance dans l’objectif de mener à bien de missions de surveillance pour la protection des infrastructures. Dans ce contexte, les véhicules aériens sans pilote (drones) embarquent plusieurs applications (contrôle commande, communication et vidéo) de criticité différente avec des contraintes de certification associées souvent hétérogènes. L'application de contrôle-commande ayant le niveau de criticité le plus élevé doit être certifiée au plus haut niveau d’exigence. Lorsque plusieurs applications de criticité différente s’exécutent sur la même plate-forme matérielle, l’application la plus critique impose par contagion aux applications les moins critiques une certification du même niveau d’exigence que celui de l’application la plus critique. Ce qui n’est pas toujours possible compte tenu de la complexité des applications et peut conduire à un coût de certification qui peut être important. Une solution à ce problème consiste à utiliser un système de virtualisation basé sur un hyperviseur certifié, assurant une isolation spatiale et temporelle des applications. Chaque application s’exécute alors dans une machine virtuelle (VM) dédiée. L'activation des VMs est gérée par l'hyperviseur en charge de cette isolation.D’un point de vue ordonnancement, cela forme un système hiérarchique à deux niveaux. Les VMs sont ordonnancées par l'hyperviseur au premier niveau, les tâches de chaque VM sont ordonnancées au second niveau par un algorithme d’ordonnancement spécifique. Nous considérons dans cette thèse un ordonnancement à priorité fixe au second niveau.Nos travaux s’intègrent dans le contexte du projet de drone de surveillance CEOS. Dans ce projet, le but est de créer un drone autonome de surveillance à but non militaire. Il s’agit d’un projet FUI avec différents partenaires tels que l’INRIA, Enedis, EDF, Sysgo, Alerion, Thalès, l’aéroport de Caen. Ce drone est défini pour trois cas d’usage : (i) la surveillance des lignes électriques dans le réseau EDF, (ii) la surveillance de conduites d’eau dans les montagnes pour ENEDIS et (iii) la surveillance de clôtures dans l’aéroport de Caen.Pour le projet CEOS, un hyperviseur de type 1 développé par la société Sysgo (PikeOs) a été choisi. PikeOs est certifié DAL-A pour divers standards avioniques tels que ARINC 653 et MILS. C’est grâce à ses certifications que cet hyperviseur a été choisi. Une de ses particularités est qu’il est possible de maîtriser l’ordonnancement de niveau 1 des VMs. Pour le niveau 1, l’ordonnancement des machines virtuelles à l’aide d’une table d’ordonnancement doit être déterminé au préalable, aucun algorithme n’est imposé. Concernant les tâches exécutées par les VMs, leur ordonnancement est déterminé par le système d’exploitation temps réel associé à la machine virtuelle. Il est également possible d’introduire des tâches directement dans PikeOS qui seront alors ordonnancées par un ordonnancement à priorité fixe. La liberté du choix d’algorithme pour l’ordonnancement de premier niveau implique plusieurs questions : comment ordonnancer les machines virtuelles pour permettre aux tâches de respecter leurs échéances ? Dans les conditions d’un ordonnancement déterminé à l’avance pour les machines virtuelles, quel ordonnancement donnerait un bon taux de succès pour les tâches ?