Présentation

Article

1 - MOTIVATIONS POUR LE PARALLÉLISME

2 - DÉFINITION DU PARALLÉLISME

3 - SOURCES DU PARALLÉLISME ET OPÉRATIONS FONDAMENTALES

  • 3.1 - Parallélisme de données
  • 3.2 - Parallélisme de contrôle
  • 3.3 - Opérations fondamentales du parallélisme

4 - ORGANISATION DES ARCHITECTURES PARALLÈLES

5 - PROGRAMMATION DES ARCHITECTURES PARALLÈLES

  • 5.1 - Modèle data-parallèle
  • 5.2 - Modèle concurrent à mémoire partagée
  • 5.3 - Modèle concurrent à passage de messages
  • 5.4 - Modèle multiflots (multi-thread )

6 - LOIS, MODÈLES ET MÉTRIQUES DES PERFORMANCES DES ARCHITECTURES PARALLÈLES

| Réf : H1088 v1

Programmation des architectures parallèles
Introduction au parallélisme et aux architectures parallèles

Auteur(s) : Franck CAPPELLO, Jean-Paul SANSONNET

Date de publication : 10 août 1999

Pour explorer cet article
Télécharger l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !

Sommaire

Présentation

Auteur(s)

  • Franck CAPPELLO : Chargé de recherche au CNRS - Laboratoire de recherche en informatique LRI - Université Paris Sud, Orsay

  • Jean-Paul SANSONNET : Directeur de recherche au CNRS - Laboratoire d’informatique pour la mécanique et les sciences de l’ingénieur LIMSI - Université Paris Sud, Orsay

Lire cet article issu d'une ressource documentaire complète, actualisée et validée par des comités scientifiques.

Lire l’article

INTRODUCTION

L’architecture des ordinateurs, qu’il s’agisse de microprocesseurs ou de supercalculateurs, est fortement influencée par l’exploitation d’une propriété fondamentale des applications : le parallélisme. Un grand nombre d’architectures présentes dans les sites informatiques sont parallèles. Ce type d’architecture touche une large gamme de machines depuis les PC biprocesseurs jusqu’aux supercalculateurs. Aujourd’hui, la plupart des serveurs sont des machines parallèles (des multiprocesseurs).

L’objectif de notre exposé est d’introduire la notion de parallélisme, de discuter la nécessité de l’exploiter pour atteindre de hautes performances et de présenter les différentes formes d’architectures d’ordinateurs parallèles.

Tout au cours de notre étude, nous évoquons plusieurs domaines d’applications pour lesquels l’exploitation du parallélisme est fondamentale : le traitement numérique, les bases de données, le traitement d’images, la comparaison de séquences ADN, etc. Pour traiter ces applications, les architectures parallèles peuvent être généralistes (c’est-à-dire capables de répondre aux besoins d’une grande diversité d’applications) ou spécialisées. Les architectures spécialisées sont destinées à exploiter les caractéristiques spécifiques d’une catégorie d’applications ou même d’une seule application. Nous présentons ces deux types d’architectures parallèles.

Bien souvent, il faut avoir recours à une conception et à un développement parallèle de l’application pour exploiter le parallélisme de façon intéressante. Les langages de programmation parallèles sont une composante essentielle dans la chaîne de conception d’une application. Nous présentons les principaux.

Enfin, l’intérêt des architectures parallèles réside dans les performances qu’elles permettent d’atteindre. Nous examinons donc les métriques utilisés pour rendre compte des performances et les grandes lois qui les gouvernent.

Cet article est réservé aux abonnés.
Il vous reste 93% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v1-h1088


Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(233 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

5. Programmation des architectures parallèles

L’exécution parallèle de plusieurs programmes suppose leur génération par un compilateur ou leur écriture par un programmeur. Idéalement, le programmeur ne devrait pas se soucier du parallélisme et laisser à un compilateur le soin de paralléliser automatiquement son programme. Cela est particulièrement vrai si l’on désire exécuter sur une machine parallèle des programmes écrits pour des machines séquentielles. Cependant, la parallélisation automatique se heurte au problème difficile de l’extraction du parallélisme. Un autre problème de la parallélisation automatique, plus profond encore, provient du fait qu’il s’agit de paralléliser des programmes issus d’algorithmes pour lesquels aucun effort d’exploitation du parallélisme n’a été fait. Les algorithmes utilisés peuvent même être intrinsèquement séquentiels. Si ces programmes n’ont pas été pensés « parallèles », on comprend qu’il soit difficile d’atteindre un très haut degré de parallélisme avec cette approche. Ces constats sont à la base du développement et du maintien de modèles de programmation parallèles qui impliquent que le programmeur exprime le parallélisme de l’application. Il existe un large choix de modèles de programmation parallèle. En pratique, la sélection d’un modèle de programmation est faite à partir de plusieurs critères dont voici les principaux :

  • le type de parallélisme à exploiter ;

  • le modèle mémoire de la machine parallèle visée ;

  • la portabilité désirée ;

  • la facilité de programmation ;

  • l’évolution de la structure de l’application pendant son exé-cution.

Nous présentons les principaux modèles de programmation, à chaque fois, à partir du langage de programmation qui fait référence.

5.1 Modèle data-parallèle

Le modèle de programmation data-parallèle permet d’exprimer le parallélisme de données. Il est issu des architectures SIMD. Dans ces architectures, un seul programme est exécuté et les opérations de traitement parallèle des données sont envoyées aux unités de traitement. En pratique, cela signifie qu’un seul programme est écrit, souvent en reprenant simplement le programme écrit...

Cet article est réservé aux abonnés.
Il vous reste 95% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(233 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS

Lecture en cours
Programmation des architectures parallèles
Sommaire
Sommaire

Cet article est réservé aux abonnés.
Il vous reste 92% à découvrir.

Pour explorer cet article
Téléchargez l'extrait gratuit

Vous êtes déjà abonné ?Connectez-vous !


L'expertise technique et scientifique de référence

La plus importante ressource documentaire technique et scientifique en langue française, avec + de 1 200 auteurs et 100 conseillers scientifiques.
+ de 10 000 articles et 1 000 fiches pratiques opérationnelles, + de 800 articles nouveaux ou mis à jours chaque année.
De la conception au prototypage, jusqu'à l'industrialisation, la référence pour sécuriser le développement de vos projets industriels.

Cet article fait partie de l’offre

Technologies logicielles Architectures des systèmes

(233 articles en ce moment)

Cette offre vous donne accès à :

Une base complète d’articles

Actualisée et enrichie d’articles validés par nos comités scientifiques

Des services

Un ensemble d'outils exclusifs en complément des ressources

Un Parcours Pratique

Opérationnel et didactique, pour garantir l'acquisition des compétences transverses

Doc & Quiz

Des articles interactifs avec des quiz, pour une lecture constructive

ABONNEZ-VOUS