Projet de recherche doctoral numero :3108

Description

Date depot: 1 janvier 1900
Titre: Étude des mécanismes matériels et logiciels nécessaires à l'exécution sécurisée et simultanée de machines virtuelles communicantes sur des systèmes multiprocesseurs hétérogènes intégrés sur puce
Directeur de thèse: Alain GREINER (LIP6)
Encadrant : Franck WAJSBÜRT (LIP6)
Domaine scientifique: Sciences et technologies de l'information et de la communication
Thématique CNRS : Non defini

Resumé: La course à la performance des PCs actuels a cessé de tout miser sur l'augmentation de la fréquence pour se tourner vers les processeurs multicœurs parce que ceux-ci offrent plus de performances pour une consommation énergétique moindre (meilleur rapport mips/Watt). Cette tendance lourde se propage aux systèmes embarqués, car ceux-ci demandent également un accroissement de leur puissance de calcul afin de réaliser, en temps réel, du traitement d'image ou du traitement de signal, et sont naturellement sensibles à la consommation énergétique. Il est probable que, dans un futur proche, des systèmes sur puce pour l'embarqué soient disponibles comportant plusieurs dizaines de processeurs généralistes et spécialisés (DSPs ou accélérateurs matériels à capacité DMA), par conséquent hétérogènes (MPSoC : Mutiprocessor System-on-Chip). Si l'on ne veut pas faire d'hypothèses sur le modèle de programmation des applications multitâches, tous les processeurs doivent partager un espace d'adressage unique. Si l'on dispose de beaucoup de processeurs et beaucoup de bancs de mémoire, la communication entre les processeurs et les bancs de mémoire doit être réalisée par un réseau sur puce (NoC). Par ailleurs, les MPSOC intégrant plusieurs processeurs, plusieurs bancs de mémoire, plusieurs accès aux périphériques, le tout connecté par un micro-réseau intégré devraient être résilients, c'est-à-dire intrinsèquement plus résistant aux pannes et parvenir à fonctionner même si une partie est endommagée. Pour exploiter efficacement ce type de SOC, il est possible, voire nécessaire, d'y déployer plusieurs machines virtuelles protégées les unes des autres. Chaque machine virtuelle utilise une partie des processeurs, de la mémoire et des entrées-sorties et exécute une application simple (sans OS) ou un OS complet. Ce partage du matériel par les machines virtuelles est géré par un hyperviseur. Ce partage doit être sûr. Il ne faut pas qu'une application s'exécutant sur une machine virtuelle puisse espionner une autre machine, ni se faire espionner par une autre machine, ni encore dégrader le fonctionnement du système. Pour effectuer son travail, l'hyperviseur ne peut pas supposer l'existence d'un mode d'exécution plus privilégié que le mode noyau sur tous les processeurs de la plate-forme, car ce mode n'est pas disponible sur tous les types de processeurs et il n'existe généralement pas sur les coprocesseurs spécialisés.

Doctorant.e: Leroy Sylvain