Thèse soutenue

FR
Auteur / Autrice : Olivier Temam
Direction : William Jalby
Type : Thèse de doctorat
Discipline(s) : Informatique
Date : Soutenance en 1993
Etablissement(s) : Rennes 1

Résumé

FR

Deux types de defauts de cache altere de maniere significative les performances des codes numeriques sur les processeurs actuels: les defauts de capacite et les defauts de placement ou interferences. Les defauts de capacite sont aisement predictibles, et les codes peuvent etre restructures pour minimiser ces defauts. Plusieurs algorithmes performants ont deja ete proposes pour mettre en uvre de telles solutions. En revanche, les interferences de cache restent relativement meconnues, qu'il s'agisse de leur importance ou de leurs conditions d'apparition. Dans le cadre de cette these, les problemes d'interferences dans les codes numeriques ont ete etudies. Le premier but de ce travail est de montrer que les interferences interviennent frequemment et peuvent avoir un effet important sur les performances des codes numeriques. Il est montre que les conditions d'apparition de ces interferences sont predictibles en depit de leur caractere tres irregulier. Les interferences de cache peuvent etre faibles ou importantes pour un meme nud de boucles selon les valeurs de parametres tels que la dimension des tableaux ou les adresses de depart de ces tableaux. Attenuer ou eliminer ces interferences permettrait non seulement d'ameliorer sensiblement les performances des codes numeriques dans de nombreux cas, mais egalement de rendre ces performances stables (independantes de parametres arbitrairement fixes). Il est egalement montre qu'il est possible d'estimer le nombre de defauts de cache d'un nud de boucle dus a des phenomenes d'interferences. En effet, le second but de ce travail est d'introduire une methode systematique pour predire les interferences dans un nud de boucles donne et pour evaluer le nombre d'interferences. Les principes generaux et les techniques de calcul de cette methode sont presentes. Ces techniques d'evaluation des interferences de cache permettent notamment d'analyser et de predire precisement les performances des codes numeriques sur les caches, et d'optimiser l'efficacite des algorithmes d'exploitation de la localite (evaluation de la taille de bloc optimale, strategie de copie performante. . . )