![]()
Précédent : Frontal du compilateur de protocole Remonter
: Architecture flexible de protocole haute
Suivant : Vérification
Participants : Claude Castelluccia, Walid Dabbous
HIPPCO est l'optimisateur et générateur de code du compilateur
HIPPARCH. Il génère, à partir d'une spécification formelle d'un
protocole, une implémentation optimisée en vitesse d'exécution et
en taille.
HIPPCO utilise le principe des chemins commun et
rare. Ce principe repose sur l'observation que 10% du code
représente 90% du temps d'exécution total d'un protocole. Cette
partie du code est appelée le chemin commun, le reste le
chemin rare. HIPPCO identifie ces deux chemins
automatiquement par une analyse Markovienne en utilisant les
informations de prédictions fournies par le concepteur du
protocole. Il optimise ensuite la vitesse d'exécution du chemin
commun et la taille du code du chemin rare. Le code généré
correspond ainsi à un bon compromis espace-temps. Les
optimisations de vitesse d'exécution réduisent le nombre
d'instructions á exécuter, optimisent l'utilisation des caches et
favorisent le pipelining. Les optimisations de la taille du code
visent à partager les branches communes.
Une expérimentation a été effectuée avec le protocole de transport TCP. Une version générée par HIPPCO a été comparée avec la version BSD. Il a été montré que l'implémentation automatique de HIPPCO était plus performante que la version manuelle. Ce gain de performance est principalement dû à une meilleure structure et à une spécialisation du code.