Compilation optimisée pour la robustesse des systèmes embarqués Antoine Wecxsteen Encadrants : Régis Leveugle & Salma Bergaoui
Plan Contexte – Etat de l’art Méthodologie Résultats Conclusion et perspectives
Contexte Protéger les systèmes embarqués contre les soft errors : Protection hardware déjà bien étudiée … … mais beaucoup reste à faire au niveau logiciel. On cible le banc de registres (mémoires protégées).
Criticité Analyse statique du code RTL. 4 critères complémentaires : Durée de vie Importance dans les conditions de branchement Nombre de descendants Dépendances fonctionnelles
Durée de vie Critère qui sera développé ici.
Criticité
But du TER Etudes déjà menées pour les macro-options de GCC But de ce TER : affiner l’étude précédente option par option ou en combinant des options.
Etat de l’art Analyse statique validée. Recherches similaires avec l’AVF (T. M. Jones, M.F. O’Boyle, O. Ergin, “Evaluating the Effects of Compiler Optimizations on AVF”, 2008. Macro-options peu performantes.
Méthodologie Pour chaque programme de test, deux étapes : On compile avec -O1 et on évalue la criticité globale on obtient une base B. On recompile avec -O1 -option. On normalise la criticité obtenue par B. Le rapport obtenu représente l’augmentation ou la diminution de criticité en ajoutant l’option. Pour chaque option, deux métriques : Moyenne Variance
Résultats Pour O2 et O3 : Mean Var 108,7 101,35 113,91 100,54 108,06 adpcm FFT gsm jpeg patricia qsort AES Mean Var O2 108,7 101,35 113,91 100,54 108,06 111,45 153,39 120,48 1050,8 O3 103,27 276,61 138,1 180,11 216,48 154,13 3391,3
foptimize-sibling-calls Résultats Pour fshedule-insns, finline-functions, foptimize-sibling-calls : adpcm FFT gsm jpeg patricia qsort AES Mean Var fshedule-insns 99,03 99,64 104,81 99,79 98,95 101,18 129,96 103,16 84,57 finline-functions 100 99,15 138,69 127,04 177,53 105,91 115,69 613,85 foptimize-sibling-calls 99,59 99,32 99,89 0,05
Résultats Criticité moyenne par option
Combinaison d’options Même méthodologie. On combine : les 5 meilleures 2 par 2. les 5 pires 2 par 2. fgcse et les options associées
Résultats Combiner cumule les effets en règle générale : Exemple sur fexpensive-optimizations + fschedule-insns2 finline-functions + fgcse fgcse + fgcse-las adpcm FFT gsm jpeg patricia qsort AES Mean Var meilleures 100 99,73 99,91 99,96 0,006 pires 104,73 102,9 144,16 127,91 176,69 113,8 144,69 131,87 978,46 fgcse 103,74 108,02 101,07 102,68 113,81 136,13 116,13 808,88
Conclusion et perspectives Pas d’option « miracle » mais des options à éviter ! Le programmeur doit faire un compromis entre robustesse et les autres optimisations. Il faudrait essayer de « classifier » les programmes pour réduire l’incertitude sur l’effet d’une option. L’étude des combinaisons est à approfondir.
Merci pour votre attention
gcse ? Global common sub-expression elimination a = b * c + g; d = b * c * d; tmp = b * c; a = tmp + g; d = tmp * d;