Ce projet de recherche doctorale est publié a été réalisé par Nathalie Drach-Temam

Description d'un projet de recherche doctoral

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

Mots clés :

Résumé du projet de recherche (Langue 1)

Le préchargement est une technique d’optimisation de la performance du cache. Le principe du préchargement est d’anticiper les données qui seront nécessaires au processeur et ensuite de les charger en avance depuis la hiérarchie mémoire pour que ces données résident dans un niveau de la hiérarchie proche du processeur lorsqu'il en aura besoin. L’efficacité du préchargement repose sur sa capacité à détecter les données à précharger et surtout à les précharger au moment propice, c’est-à-dire suffisamment tôt pour masquer la latence et suffisamment tard pour ne pas polluer le cache. Les comportements dynamiques des applications (variations au cours de l’exécution du contexte d’exécution et phases des programmes), ainsi que les perturbations de l’environnement (plusieurs flots s’exécutant simultanément) ont un impact sur l'efficacité des préchargements qu'il est important de prendre en compte dynamiquement pour profiter du préchargement de données tout en limitant ses effets négatifs. Dans cette thèse, nous avons étudié comment réduire les effets indésirables du préchargement de données tout en conservant ses bénéfices en utilisant des informations sur le comportement dynamique des applications et de l'environnement et ce pour des architectures mono-processeurs et multi-processeurs. Les travaux réalisés dans cette thèse ont montré qu'il existe une corrélation entre l'efficacité du préchargement et l'activité du processeur et de la mémoire. Ces activités peuvent être modélisées par des évènements que l'on peut dynamiquement récupérer via les compteurs matériels présents dans les architectures actuelles. Nous avons proposé une méthode utilisant ces compteurs et la corrélation mise en évidence pour prédire l'effet des préchargements et annuler ceux prédits inefficaces.