S9 LSE Modèles et Langages pour le parallélisme

Présentation

Cette UE porte sur les modèles, les langages et la compilation pour la programmation ou la conception de systèmes parallèles :

  • au niveau modèles et langages, l'objectif est de connaître les différents modèles de programmation pour architectures parallèles et d'étudier leur adéquation avec la spécification d'application et la problématique de leur exploitation pour un modèle d'exécution

  • au niveau conception et compilation, l'objectif est de passer en revue les principales techniques de compilation exploitant au mieux les ressources d'une architecture parallèle fixe ou d'un circuit spécialisé.

Pré-requis nécessaires

Architectures parallèles

Algorithmique parallèle et distribuée

Objectifs

Etudier les modèles d'exécution, modèles de programmation et langages

  • Streams, Graphes flot de données
  • Processus communicants, FSM
  • modèle de calcul: réseau de kahn
  • MIMD (SM, MP)
  • SIMD, SPMD
  • Équations récurrentes, modèle systolique

Compilation pour le calcul à haute performance

  • Analyse de dépendance, transformation de boucles
  • Parallélisation de nids de boucles : algorithme d'Allen Et Kennedy, approches polyédrales
  • Structures de données et options des compilateurs
  • Analyse de performances
  • Granularité de parallélisme
  • Optimisation de la localité des données en mémoire
  • Optimisation de l'allocation de mémoire
  • Ordonnancement et allocation de tâches

Compétences visées

A l'issue de cette UE :

  • On sait identifier le modèle de programmation sous-jacent à un langage à parallélisme explicite
  • On sait exprimer une application dans différents modèles de programmation parallèle
  • On sait analyser les avantages et inconvénients d'un modèle de programmation pour l'expression d'une application parallèle
  • On sait appliquer les principales techniques de compilation pour un modèle d'exécution parallèle fixé
  • On sait utiliser un compilateur pour le calcul haute performance (HPC)

Bibliographie

  • Algorithmes et architectures systoliques - P.Quinton et Y. Robert, Masson, 1989
  • Algorithmique parallèle - Arnaud Legrand et Yves Robert, Dunod, 2003
  • Multiprocessor Systems-on-chips - Ahmed Jerraya et Wayne Wolf, 2005

Langue d'enseignement

Français