Programmation des architectures hiérarchiques et hétérogènes.
Les architectures de calcul haute performance de nos jours sont des architectures hiérarchiques et hétérogènes: hiérarchiques car elles sont composées d'une hiérarchie de mémoire, une mémoire distribuée entre les noeuds et une mémoire partagée entre les coeurs d'un même noeud. Hétérogènes...
Main Author: | |
---|---|
Language: | FRE |
Published: |
Université Paris Sud - Paris XI
2011
|
Subjects: | |
Online Access: | http://tel.archives-ouvertes.fr/tel-00653203 http://tel.archives-ouvertes.fr/docs/00/65/32/03/PDF/VD2_Hamidouche.pdf |
id |
ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-00653203 |
---|---|
record_format |
oai_dc |
spelling |
ndltd-CCSD-oai-tel.archives-ouvertes.fr-tel-006532032013-01-07T17:23:16Z http://tel.archives-ouvertes.fr/tel-00653203 2011PA112252 http://tel.archives-ouvertes.fr/docs/00/65/32/03/PDF/VD2_Hamidouche.pdf Programmation des architectures hiérarchiques et hétérogènes. Hamidouche, Khaled [INFO:INFO_OH] Computer Science/Other Outils et modèles de programmation parallèle haut niveau BSP Architectures hiérarchiques hybrides et hétérogènes Génération automatique Programmation parallèle MPI OpenMP Cell BE Les architectures de calcul haute performance de nos jours sont des architectures hiérarchiques et hétérogènes: hiérarchiques car elles sont composées d'une hiérarchie de mémoire, une mémoire distribuée entre les noeuds et une mémoire partagée entre les coeurs d'un même noeud. Hétérogènes due à l'utilisation des processeurs spécifiques appelés Accélérateurs tel que le processeur CellBE d'IBM et les CPUs de NVIDIA. La complexité de maîtrise de ces architectures est double. D'une part, le problème de programmabilité: la programmation doit rester simple, la plus proche possible de la programmation séquentielle classique et indépendante de l'architecture cible. D'autre part, le problème d'efficacité: les performances doivent êtres proches de celles qu'obtiendrait un expert en écrivant le code à la main en utilisant des outils de bas niveau. Dans cette thèse, nous avons proposé une plateforme de développement pour répondre à ces problèmes. Pour cela, nous proposons deux outils : BSP++ est une bibliothèque générique utilisant des templates C++ et BSPGen est un framework permettant la génération automatique de code hybride à plusieurs niveaux de la hiérarchie (MPI+OpenMP ou MPI + Cell BE). Basée sur un modèle hiérarchique, la bibliothèque BSP++ prend les architectures hybrides comme cibles natives. Utilisant un ensemble réduit de primitives et de concepts intuitifs, BSP++ offre une simplicité d'utilisation et un haut niveau d' abstraction de la machine cible. Utilisant le modèle de coût de BSP++, BSPGen estime et génère le code hybride hiérarchique adéquat pour une application donnée sur une architecture cible. BSPGen génère un code hybride à partir d'une liste de fonctions séquentielles et d'une description de l'algorithme parallèle. Nos outils ont été validés sur différentes applications de différents domaines allant de la vérification et du calcul scientifique au traitement d'images en passant par la bioinformatique. En utilisant une large sélection d'architecture cible allant de simple machines à mémoire partagée au machines Petascale en passant par les architectures hétérogènes équipées d'accélérateurs de type Cell BE. 2011-11-10 FRE PhD thesis Université Paris Sud - Paris XI |
collection |
NDLTD |
language |
FRE |
sources |
NDLTD |
topic |
[INFO:INFO_OH] Computer Science/Other Outils et modèles de programmation parallèle haut niveau BSP Architectures hiérarchiques hybrides et hétérogènes Génération automatique Programmation parallèle MPI OpenMP Cell BE |
spellingShingle |
[INFO:INFO_OH] Computer Science/Other Outils et modèles de programmation parallèle haut niveau BSP Architectures hiérarchiques hybrides et hétérogènes Génération automatique Programmation parallèle MPI OpenMP Cell BE Hamidouche, Khaled Programmation des architectures hiérarchiques et hétérogènes. |
description |
Les architectures de calcul haute performance de nos jours sont des architectures hiérarchiques et hétérogènes: hiérarchiques car elles sont composées d'une hiérarchie de mémoire, une mémoire distribuée entre les noeuds et une mémoire partagée entre les coeurs d'un même noeud. Hétérogènes due à l'utilisation des processeurs spécifiques appelés Accélérateurs tel que le processeur CellBE d'IBM et les CPUs de NVIDIA. La complexité de maîtrise de ces architectures est double. D'une part, le problème de programmabilité: la programmation doit rester simple, la plus proche possible de la programmation séquentielle classique et indépendante de l'architecture cible. D'autre part, le problème d'efficacité: les performances doivent êtres proches de celles qu'obtiendrait un expert en écrivant le code à la main en utilisant des outils de bas niveau. Dans cette thèse, nous avons proposé une plateforme de développement pour répondre à ces problèmes. Pour cela, nous proposons deux outils : BSP++ est une bibliothèque générique utilisant des templates C++ et BSPGen est un framework permettant la génération automatique de code hybride à plusieurs niveaux de la hiérarchie (MPI+OpenMP ou MPI + Cell BE). Basée sur un modèle hiérarchique, la bibliothèque BSP++ prend les architectures hybrides comme cibles natives. Utilisant un ensemble réduit de primitives et de concepts intuitifs, BSP++ offre une simplicité d'utilisation et un haut niveau d' abstraction de la machine cible. Utilisant le modèle de coût de BSP++, BSPGen estime et génère le code hybride hiérarchique adéquat pour une application donnée sur une architecture cible. BSPGen génère un code hybride à partir d'une liste de fonctions séquentielles et d'une description de l'algorithme parallèle. Nos outils ont été validés sur différentes applications de différents domaines allant de la vérification et du calcul scientifique au traitement d'images en passant par la bioinformatique. En utilisant une large sélection d'architecture cible allant de simple machines à mémoire partagée au machines Petascale en passant par les architectures hétérogènes équipées d'accélérateurs de type Cell BE. |
author |
Hamidouche, Khaled |
author_facet |
Hamidouche, Khaled |
author_sort |
Hamidouche, Khaled |
title |
Programmation des architectures hiérarchiques et hétérogènes. |
title_short |
Programmation des architectures hiérarchiques et hétérogènes. |
title_full |
Programmation des architectures hiérarchiques et hétérogènes. |
title_fullStr |
Programmation des architectures hiérarchiques et hétérogènes. |
title_full_unstemmed |
Programmation des architectures hiérarchiques et hétérogènes. |
title_sort |
programmation des architectures hiérarchiques et hétérogènes. |
publisher |
Université Paris Sud - Paris XI |
publishDate |
2011 |
url |
http://tel.archives-ouvertes.fr/tel-00653203 http://tel.archives-ouvertes.fr/docs/00/65/32/03/PDF/VD2_Hamidouche.pdf |
work_keys_str_mv |
AT hamidouchekhaled programmationdesarchitectureshierarchiquesetheterogenes |
_version_ |
1716395873743667200 |