Compilation optimisée pour la robustesse de systèmes embarqués

De Ensiwiki
Aller à : navigation, rechercher


Compilation optimisée pour la robustesse de systèmes embarqués

Labo TIMA
Equipe ARIS
Encadrants Regis.Leveugle@imag.fr,Salma.Bergaoui@imag.fr

Thème général

La compilation d'un programme C peut être optimisée avec des objectifs variés (performances, taille mémoire, consommation ...). L'objectif de cette étude est d'orienter l'optimisation vers une amélioration de la robustesse, c'est à dire la réduction du risque de disfonctionnement en cas d'erreurs dans le système informatique à cause par exemple de perturbations environnementales (fluctuations de tension, champs électromagnétiques, etc.). Ceci est particulièrement important pour des systèmes embarqués critiques, destinés à être utilisés dans des environnements sévères.

exemple de pointeur sur le web : Optimisations existant sous GCC : http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html.

Compétences attendues

Compétences générales liées à la formation ENSIMAG 2A

Une formation renforcée en architecture de processeurs serait appréciée

Contexte du travail

Des études sont en cours dans l'équipe sur la modification de GCC pour des améliorations de robustesse (évaluation du niveau de robustesse, ou génération de code de surveillance) ; le TER s'intégrera directement à ces travaux.

Sujet

Les objectifs principaux du sujet proposé sont :

1. Identifier l'impact des différentes optimisations existant dans GCC sur la robustesse finale d'un système. L'étude sera plus particulièrement menée sur un processeur d'architecture RISC Sparc v8.

2. Proposer une combinaison des options existantes ou de nouvelles optimisations permettant d'améliorer la robustesse globale. En fonction du temps disponible, la programmation et l'évaluation des nouvelles options proposées pourra être considérée.

L'évaluation du niveau de robustesse atteint sera réalisée en utilisant deux outils disponibles dans l'équipe :

- une version modifiée de GCC, incluant le calcul de plusieurs critères de robustesse

- un outil d'analyse de criticité des registres internes du processeur

Résultats attendus

Le premier résultat attendu est une analyse fine de l'effet des différentes optimisations existantes sur les principaux critères de robustesse (durée de vie des informations, dépendances fonctionnelles, impact sur des branchements, criticité des registres dans le pipeline de traitement). Le second résultat est la proposition d'une optimisation orientée sûreté de fonctionnement. Si possible, le troisième résultat sera le développement d'une nouvelle option d'optimisation dans GCC.