logo EDITE Sujets de doctorat

Contrôle prédictible et efficace de processeurs multi-cœurs COTS pour des utilisations temps-réel dur

Sujet proposé par
Directeur de thèse:
Encadré par
Doctorant: Cedric Fabrice COURTAUD
Unité de recherche UMR 7606 Laboratoire d'informatique de Paris 6

Domaine: Sciences et technologies de l'information et de la communication

Projet

Les applications critiques des domaines spatiale et avionique sont de type temps réel durs : elles ont un temps de réaction qui doit être strictement borné. L’utilisation de processeurs multi-cœurs est envisagé dans ces applications afin de répondre à la croissance de leur besoins en performance et de pallier à l’obsolescence des processeurs mono-cœurs. Pour des raisons de couts les processeurs considérés sont de type COTS (Commodity Off The Shelf), i.e. des processeurs achetés dans le commerce. Un processeur multi-cœurs dispose de plusieurs unités de calcul (ou cœurs) capables d’exécuter en parallèle plusieurs tâches logicielles, tout en mutualisant certaines ressources matérielles comme la mémoire principale et les périphériques d’entrées/sortie (I/O). En exécutant ces tâches, les cœurs sont amenés à effectuer divers accès à ces ressources, par exemple pour des opérations de lecture et d’écriture de données en mémoire. Lorsque plusieurs accès interviennent simultanément, certains peuvent être mis en attente. On parle d’interférences qui ont pour effet de ralentir l’exécution d'une tâche. Par effet d’accumulation, ce ralentissement peut prendre des proportions importantes. De fait, on ne sait pas déterminer sur un processeur COTS à quel point une tâche sera ralentie par les tâches s'exécutant sur les autres coeurs.

Un axe de recherche consiste à compenser le non déterminisme du processeur au moyen d'un logiciel plateforme déterministe (ou deterministic platform software - DPS). Un DPS n’apporte pas de nouvelle fonctionnalité mais assure que le processeur sera utilisé dans un domaine de fonctionnement où il est déterministe, sans que le logiciel patrimonial n’aie conscience des mécanismes sous-jacents. Le logiciel patrimonial peut être une application autonome, mais également un système d’exploitation à part entière. Cette thèse se situe dans la continuation des travaux sur Marthy, un DPS développé à Thales. Ce dernier exerce un contrôle des communications de manière transparente vis à vis du logiciel patrimonial. Marthy met principalement en œuvre un contrôleur de cache logiciel, ainsi qu’un contrôleur de MMU. Le développement de Marthy a montré qu’il est possible d’introduire un logiciel de contrôle rendant un processeur multi-cœurs déterministe, sans avoir besoin de redéfinir le logiciel patrimonial. Néanmoins ce gain en déterminisme à un cout très variable en performances, qui dans certains cas remet en cause l’intérêt de l’utilisation d’un processeur multi-cœur.

Enjeux

L’objectif de la thèse sera de considérer le problème dans sa globalité pour proposer une solution de type DPS qui réalise un compromis acceptable entre déterminisme, performances et compatibilité avec le logiciel existant. Une évolution de Marthy, ou une redéfinition du concept de logiciel de contrôle pourront être proposées à cet effet. Par ailleurs, l'étudiant étudiera la possibilité de concevoir une couche d’abstraction matérielle embarquant sa solution, pouvant être adaptée à différents systèmes d’exploitation ou hyperviseurs. Cette solution sera instanciée selon le compromis souhaité sur les critères précédemment identifiés, au cas par cas selon les besoin de l’équipement dans lequel elle s’intégrera.