Méthodologie d'optimisation de programmes pour architectures complexes de processeurs

par David Parello

Thèse de doctorat en Informatique

Sous la direction de Olivier Temam.


  • Résumé

    L'augmentation de la complexité des processeurs rend de plus en plus difficile l'intégration de modèles précis d'architectures dans les compilateurs. En conséquence, l'efficacité des compilateurs statiques décroît. Actuellement, les compilateurs statiques sont enrichis d'informations dynamiques sur le comportement de l'architecture à la manière des techniques d'optimisation basées sur les profiles d'exécutions ou des techniques de re-compilation dynamique. Malheureusement, seules quelques informations élémentaires sur le comportement de l'architecture sont utilisées. Dans cette thèse, nous montrons de quelle manière les interactions entre les différents composants d'une architecture rendent complexe le comportement des programmes et nous montrons qu'il est possible de capturer cette complexité pour en déduire les transformations à apporter aux programmes. Nous avons étudié une méthode plus systématique pour adresser le problème de la complexité. Nous proposons un processus itératif d'optimisation manuelle basé sur une analyse dynamique détaillée. Nous montrons expérimentalement l'efficacité de ce processus. Cette approche présente potentiellement une stratégie pour guider de futurs environnements d'optimisation itératifs et propose, dans l'immédiat, un processus d'optimisation manuelle systématique pouvant être utilisé par des ingénieurs ou des chercheurs.


  • Résumé

    Because processor architectures are increasingly complex, it is increasingly difficult to embed accurate machine models within compilers. As a result, compiler efficiency tends to decrease. Currently, the trend is on top-down approaches: static compilers are progressively augmented with information from the architecture as in profile-based, iterative or dynamic compilation techniques. However, for the moment, fairly elementary architectural information is used. In this thesis, first, we show that understanding the complex interactions between programs and the numerous processor architecture components is both feasible and critical to design efficient program optimizations. We studied a more systematic method to address the complexity problem. Second, we propose an iterative process of manual optimization based on a detailed dynamic analysis. We show in experiments the effectiveness of this process. This approach presents a potential strategy for driving automatic iterative optimization environments in the future. This applied research work has the immediate benefit to provide a systematic manual optimization process which can be applied by engineers or researchers.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 120 p.
  • Notes : Publication autorisée par le jury
  • Annexes : Bibliogr. p.111-116

Où se trouve cette thèse ?

  • Bibliothèque : Université Paris-Sud (Orsay, Essonne). Service Commun de la Documentation. Section Sciences.
  • Disponible pour le PEB
  • Cote : 0g ORSAY(2004)106
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.