Etude de l'impact du "mur mémoire"
Localisation :Irisa, Rennes
Responsables : Pierre Michaud (tél. : 02 99 84 72 21, email
: pmichaud@irisa.fr)
Mots-clés : architecture, processeurs superscalaires, mur
mémoire
Sujet : l'accès à la mémoire occupe une part prépondérante
du temps d'exécution de certaines applications. Ce problème, connu
sous le nom de "mur mémoire", est lié à la taille des ensembles
de travail de ces applications : une mémoire cache, même de
grande taille, ne permet pas de conserver toutes les données de
l'application.
Afin d'éviter ce problème, les requêtes à la mémoire sont pipelinées
de manière à faire se recouvrir les latences d'accès.
L'exécution dans le désordre, utilisée sur les processeurs actuels,
permet de lancer un nouvel accès sans attendre que le précédent
soit terminé, autorisant ainsi un certain nombre d'accès à se recouvrir.
Cependant, certains accès ne peuvent pas se recouvrir et doivent
être exécutés en série. Cela se produit notamment dans les situations
suivantes : branchement mal prédit intercalé entre deux accès,
limitation de la fenêtre d'exécution du processeur, accès formant
une chaîne de dépendances...
Ces limitations proviennent de la mise en oeuvre des processeurs
actuels, ce ne sont pas des limitations intrinsèques de l'application.
Un branchement peut être supprimé en transformant une dépendance
de contrôle en dépendance de donnée. Les mémoires caches, dont la
taille est limitée, stockent les données en ignorant le coût des
accès, or l'espace du cache devrait être prioritairement alloué
aux accès coûteux...
Le sujet de thèse proposé est en premier lieu l'évaluation du "mur
mémoire" réel, c'est-à-dire le "mur mémoire" si l'on s'affranchit
des contraintes non intrinsèques de l'application. En second lieu,
on essaiera de proposer de nouvelles solutions au niveau jeu d'instructions,
compilateur et architecture pour approcher ce "mur mémoire" réel.
|