previous up next contents
Précédent : Frontal du Compilateur Remonter : Architecture flexible de Suivant : Vérification

HIPPCO : Un Optimiseur Automatique de Protocoles

Participants : Claude Castelluccia, Walid Dabbous, Philipp Hoschka

HIPPCO est l'optimiseur 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 20% du code représente 80% du temps d'exécution total d'un protocole. Cette partie du code est appellé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édiction 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 ainsi généré correspond ainsi à un bon compromi 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 tentent de 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 spécialisation du code.


previous up next contents
Précédent : Frontal du Compilateur Remonter : Architecture flexible de Suivant : Vérification