GAMOUDI Oussama

PhD graduated
Team : ALSOC
Departure date : 07/03/2012
https://lip6.fr/Oussama.Gamoudi

Supervision : Nathalie DRACH-TEMAM

Co-supervision : HEYDEMANN Karine

Optimisation adaptative appliquée au préchargement de données

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.

Defence : 07/03/2012 - 10h - Site Jussieu 25-26/105

Jury members :

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

2009-2012 Publications