vendredi 29 juin 2012

Soutenance de thèse de Oussama Gamoudi

Bonjour et excusez-moi pour les réceptions multiples,

J'ai le plaisir de vous inviter à la soutenance de ma thèse intitulée
"Optimisation adaptative appliquée au préchargement de données"

qui aura lieu le 3 juillet 2012 à 10h en salle 105 1ere étage tour 25 au
LIP6 : 4 Place Jussieu 75005 Paris.

Vous êtes également invités au pot qui suivra (salle A002 maison de la
pédagogie)

==============
Plan d'accès:
==============

http://www.lip6.fr/informations/comment.php

==============
Composition du Jury :
==============

Philippe Clauss, professeur, Université de Strasbourg : rapporteur
Nathalie Drach-Temam, professeur LIP6/UPMC : directeur de thèse
Karine Heydemann, maître de conférences, LIP6/UPMC : co-encadrement de thèse
Jean-Luc Lamotte, professeur, LIP6/UPMC : examinateur
Pascal Sainrat, professeur, Université Paul Sabatier à Toulouse: examinateur
André Seznec, directeur de recherche, INRIA Rennes/IRISA : rapporteur

==============
Résumé :
==============

Le préchargement de données est une solution qui a été proposée pour
optimiser la performance du cache en anticipant la demande à la mémoire
des données nécessaires au processeur. L'efficacité du préchargement
repose sur sa capacité à détecter les données à précharger et surtout à
les précharger au bon moment. Un préchargement réalisé trop tôt peut être
évincé avant son référencement ce qui risque de polluer le cache et
d'occuper la bande passante, tandis qu'un préchargement lancé trop tard
masque seulement une partie de la latence mémoire. L'utilité du
préchargement varie tout au long de l'exécution d'une application, à cause
des phases existantes dans un programme et du comportement des
applications exécutées. Il est donc important de contrôler les requêtes de
préchargement afin de tirer profit de ce dernier tout en réduisant son
effet négatif.

Certains événements dynamiques (connus à l'exécution) tels que le nombre
de défauts de cache L1/L2, le nombre de branchements exécutés, etc.
peuvent caractériser le comportement dynamique des applications prises
individuellement ou exécutées simultanément. Les architectures actuelles
incluent des compteurs matériels permettant de comptabiliser le nombre
d'occurrences de certains événements au cours de l'exécution. Ces
compteurs permettent d'obtenir des informations sur le comportement
dynamique des applications.

Dans ce travail, nous avons montré qu'il existe des événements capables
de discriminer les intervalles d'exécution pendant lesquels le
préchargement est bénéfique de ceux où il ne l'est pas. Nous avons montré
également que l'espace des événements peut être partitionné en régions
telles que plus de 90% des vecteurs d'événements de ces régions
aboutissent au même effet de préchargement.

Nous avons proposé ensuite, une nouvelle approche permettant d'exploiter
la corrélation entre les événements d'exécution et l'efficacité de
préchargement afin de filtrer à l'exécution les requêtes de préchargement
selon leurs efficacités: celles qui sont jugées efficaces sont lancées et
celles qui s'avèrent inutiles sont invalidées.

Enfin, nous avons présenté une évaluation du filtre proposé sur différentes
architectures (monoprocesseur exécutant un seul programme, SMT, et
multiprocesseurs) afin de mettre en évidence l'impact de la variation de
l'environnement d'exécution et l'interaction des programmes exécutés
simultanément sur l'utilité du préchargement. Les résultats expérimentaux
montrent que notre solution est capable de filtrer la plupart des requêtes
inutiles et de tirer profit du préchargement.

-------------
Cordialement,
Oussama Gamoudi

Aucun commentaire: