Leveraging streaming for deterministic parallelization: an integrated language, compiler and runtime approach - PASTEL - Thèses en ligne de ParisTech Accéder directement au contenu
Thèse Année : 2011

Leveraging streaming for deterministic parallelization: an integrated language, compiler and runtime approach

Exploitation du streaming pour la parallélisation déterministe : approche langage, compilateur et système de runtime intégrée

Antoniu Pop
  • Fonction : Auteur
  • PersonId : 862413

Résumé

As single processing unit performance has reached a technological limit, the power wall, the past decade has seen a shift from the prevailing trend of increasing single-threaded performance to an exponentially growing number of processing units per chip. Higher performance returns on these newer architectures are contingent on the amount of parallelism that can be efficiently exploited in applications, either exposed through parallel programming or by parallelizing compilers. However, uncovering raw parallelism is insufficient if a host of cores vie for limited off-chip memory bandwidth. Mitigating the memory wall, the stream-computing model provides an important solution for exploiting upcoming architectures. This thesis explores streaming as a general-purpose parallel programming paradigm, rather than a model dedicated to a class of applications, by providing a highly expressive stream-computing extension to a de facto standard for shared memory programming, OpenMP. We rely on a new formal framework to investigate the properties of streaming programs, without the restrictions usually attached to dataflow models, and we prove that such programs benefit from deadlock and functional determinism, key assets in the productivity race. In a second part, we focus on the efficient exploitation of our model, with optimized runtime support and compiler optimizations, through an implementation in the GCC compiler.
La performance des unités de calcul séquentiel a atteint des limites technologiques qui ont conduit à une transition de la tendance à l'accélération des calculs séquentiels vers une augmentation exponentielle du nombre d'unités de calcul par microprocesseur. Ces nouvelles architectures ne permettent d'augmenter la vitesse de calcul que proportionnellement au parallélisme qui peut être exploité, soit via le modèle de programmation soit par un compilateur optimiseur. Cependant, la disponibilité du parallélisme en soi ne suffit pas à améliorer les performances si un grand nombre de processeurs sont en compétition pour l'accès à la mémoire. Le modèle de streaming répond à ce problème et représente une solution viable pour l'exploitation des architectures à venir. Cette thèse aborde le streaming comme un modèle général de programmation parallèle, plutôt qu'un modèle dédié à une classe d'applications, en fournissant une extension pour le streaming à un langage standard pour la programmation parallèle avec mémoire partagée, OpenMP. Un nouveau modèle formel est développé, dans une première partie, pour étudier les propriétés des programmes qui font appel au streaming, sans les restrictions qui sont généralement associées aux modèles de flot de données. Ce modèle permet de prouver que ces programmes sont déterministes à la fois fonctionnellement et par rapport aux deadlocks, ce qui est essentiel pour la productivité des programmeurs. La deuxième partie de ce travail est consacrée à l'exploitation efficace de ce modèle, avec support logiciel à l'exécution et optimisations de compilation, à travers l'implantation d'un prototype dans le compilateur GCC.
Fichier principal
Vignette du fichier
22783_POP_2011_.pdf (2.45 Mo) Télécharger le fichier
Loading...

Dates et versions

pastel-00712006 , version 1 (26-06-2012)

Identifiants

  • HAL Id : pastel-00712006 , version 1

Citer

Antoniu Pop. Leveraging streaming for deterministic parallelization: an integrated language, compiler and runtime approach. Automatic. École Nationale Supérieure des Mines de Paris, 2011. English. ⟨NNT : 2011ENMP0090⟩. ⟨pastel-00712006⟩
194 Consultations
317 Téléchargements

Partager

Gmail Facebook X LinkedIn More