Thèse soutenue

Exécution prédictible sur processeurs pluri-coeurs

FR  |  
EN
Auteur / Autrice : Quentin Perret
Direction : Claire PagettiEric Noulard
Type : Thèse de doctorat
Discipline(s) : Réseaux, télécom, système et architecture
Date : Soutenance le 25/04/2017
Etablissement(s) : Toulouse, ISAE
Ecole(s) doctorale(s) : École doctorale Mathématiques, informatique et télécommunications (Toulouse)
Partenaire(s) de recherche : Laboratoire : Office national d'études et recherches aérospatiales (Toulouse, Haute-Garonne). Département Traitement de l’Information et Modélisation (DTIM)
Equipe de recherche : Équipe d'accueil doctoral Modélisation et ingénierie des systèmes (Toulouse, Haute-Garonne)
Jury : Président / Présidente : Isabelle Puaut
Examinateurs / Examinatrices : Jean-Luc Béchennec, Claire Maiza, Pascal Maurere, Pascal Sainrat
Rapporteurs / Rapporteuses : Emmanuel Grolleau, Laurent Pautet

Résumé

FR  |  
EN

Dans cette thèse, nous étudions l’adéquation de l’architecture distribuée des processeurs pluricoeurs avec les besoins des concepteurs de systèmes temps réels avioniques. Nous proposons d’abord une analyse détaillée d’un processeur sur étagère (COTS), le KALRAY MPPA®-256, et nous identifions certaines de ses ressources partagées comme étant les goulots d’étranglement limitant à la fois la performance et la prédictibilité lorsque plusieurs applications s’exécutent. Pour limiter l’impact de ces ressources sur les WCETs, nous définissons formellement un modèle d’exécution isolant temporellement les applications concurrentes. Son implantation est réalisée au sein d’un hyperviseur offrant à chaque application un environnement d’exécution isolé et assurant le respect des comportements attendus en ligne. Sur cette base, nous formalisons la notion de partition comme l’association d’une application avec un budget de ressources matérielles. Dans notre approche, les applications s’exécutant au sein d’une partition sont garanties d’être temporellement isolées des autres applications. Ainsi, étant donné une application et son budget associé, nous proposons d’utiliser la programmation par contraintes pour vérifier automatiquement si les ressources allouées à l’application sont suffisantes pour permettre son exécution de manière satisfaisante. Dans le même temps, dans le cas où un budget est effectivement valide, notre approche fournit un ordonnancement et un placement complet de l’application sur le sous-ensemble des ressources du processeurallouées à sa partition.