compilation optimisée pour la robustesse des systèmes embarqués antoine wecxsteen encadrants :...

17
Compilation optimisée pour la robustesse des systèmes embarqués Antoine Wecxsteen Encadrants : Régis Leveugle & Salma Bergaoui

Upload: meraud-bardet

Post on 03-Apr-2015

111 views

Category:

Documents


3 download

TRANSCRIPT

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

2

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.

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 :

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 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.

Merci pour votre attention

16

gcse ?

• Global common sub-expression elimination

a = b * c + g;

d = b * c * d;

tmp = b * c;

a = tmp + g;

d = tmp * d;