Compilation optimisée pour la robustesse des systèmes embarqués
Antoine Wecxsteen
Encadrants : Régis Leveugle & Salma Bergaoui
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
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.
7
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 :
1. On compile avec -O1 et on évalue la criticité globale on obtient une base B.
2. 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
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 108,7 103,27 276,61 138,1 180,11 111,45 216,48 154,13 3391,3
Pour O2 et O3 :
Résultats
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 100 105,91 115,69 613,85foptimize-sibling-
calls 100 100 99,59 99,32 100 100 100 99,89 0,05
Pour fshedule-insns, finline-functions, foptimize-sibling-calls :
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 100 99,73 99,91 100 100 100 99,96 0,006
pires 104,73 102,9 144,16 127,91 176,69 113,8 144,69 131,87 978,46
fgcse 104,73 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.
Top Related