previous up next top index
Précédent : Frontal du compilateur de protocole Remonter : Architecture flexible de protocole haute Suivant : Vérification


HIPPCO : Un optimiseur automatique de protocoles

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.