Contactez-nous
Motivations pour le parallélisme
Introduction au parallélisme et aux architectures parallèles
H1088 v1 Archive

Motivations pour le parallélisme
Introduction au parallélisme et aux architectures parallèles

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

Date de publication : 10 août 1999

Logo Techniques de l'Ingenieur Cet article est réservé aux abonnés
Pour explorer cet article plus en profondeur Consulter l'extrait gratuit

Déjà abonné ?

Présentation

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

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.

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

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

Lecture en cours
Présentation

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(234 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

1. Motivations pour le parallélisme

L’exploitation du parallélisme dans l’architecture des ordinateurs est née de la conjonction de trois éléments : les besoins des applications, les limites des architectures séquentielles et l’existence dans les applications de la propriété de parallélisme.

1.1 Besoins des applications

La notion de parallélisme est souvent attachée à celle de la performance d’exécution des applications. Ce dernier terme recouvre différentes notions suivant les besoins des applications. En effet, quel que soit le domaine d’application, le parallélisme peut être exploité pour répondre à deux besoins : la puissance de traitement et/ou la disponibilité.

La puissance de traitement recouvre deux grandes notions : la latence de traitement et le débit de traitement. La latence représente le temps nécessaire pour l’exécution d’un traitement. Le débit représente le nombre de traitements exécutables par unité de temps.

Ces deux notions peuvent être indépendantes. Réduire la latence est plus difficile qu’augmenter le débit. Dans le premier cas, il s’agit de lutter contre le temps qui en dernier ressort est fixé par les possibilités technologiques. Alors que, dans le deuxième cas, si plusieurs traitements sont indépendants, l’augmentation du nombre de ressources suffit pour exécuter plus de traitements en même temps.

La puissance de traitement dépend aussi de la capacité et de l’organisation de la mémoire d’un ordinateur. Certaines applications requièrent des ensembles de données dont la taille est supérieure à la capacité d’adressage d’un ordinateur séquentiel. Multiplier les ressources qui possèdent chacune leur mémoire permet d’accroître la taille de la mémoire totale adressable. Certaines organisations d’architectures parallèles permettent donc d’adresser plus de mémoire que des architectures séquentielles.

La majorité des applications requérant de hautes performances appartiennent au « supercomputing » ou au « commercial computing ». Le premier domaine concerne les applications du traitement numérique alors que le deuxième concerne principalement les applications de bases de données. Ces deux domaines recouvrent principalement quatre types d’applications : la simulation numérique ou entière, l’analyse extensive de grands volumes d’informations, les serveurs...

Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Lecture en cours
Motivations pour le parallélisme

Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(234 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Sommaire
Sommaire
Logo Techniques de l'Ingenieur

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

Pour explorer cet article Consulter l'extrait gratuit

Déjà abonné ?


Article inclus dans l'offre

"Technologies logicielles Architectures des systèmes"

(234 articles)

Une base complète d’articles

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

Des contenus enrichis

Quiz, médias, tableaux, formules, vidéos, etc.

Des modules pratiques

Opérationnels et didactiques, pour garantir l'acquisition des compétences transverses.

Des avantages inclus

Un ensemble de services exclusifs en complément des ressources.

Voir l'offre

Ressources documentaires

Hiérarchie mémoire : les caches

Entre le ou les processeurs d'un ordinateur et les organes de stockage existe une hiérarchie de ...

Calcul généraliste sur carte graphique - Du rendu au calcul massivement parallèle

Cet article s'intéresse à l'architecture et à la programmation des cartes graphiques dans le but de ...

Introduction à l'architecture des ordinateurs

L'article commence par une brève histoire des machines informatiques et introduit ensuite les principes ...

Processeurs : exécution pipeline des instructions

Cet article présente les caractéristiques essentielles de l'exécution pipeline des instructions dans les ...