Présentation

Article

1 - MOTIVATIONS POUR LE PARALLÉLISME

2 - QU’EST-CE QUE LE PARALLÉLISME ?

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

4 - PARALLÉLISME DANS LES MONOPROCESSEURS

5 - CLASSIFICATION DES ARCHITECTURES PARALLÈLES

6 - RESSOURCES DES ARCHITECTURES PARALLÈLES

7 - MODÈLES D’EXÉCUTION

8 - PROGRAMMATION DES ARCHITECTURES PARALLÈLES

9 - LOIS ET MÉTRIQUES DE PERFORMANCES DES ARCHITECTURES PARALLÈLES

10 - REMARQUES POUR CONCLURE

11 - GLOSSAIRE

Article de référence | Réf : H1088 v2

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

Auteur(s) : Franck CAPPELLO, Daniel ETIEMBLE

Date de publication : 10 août 2017

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

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

Sommaire

Présentation

NOTE DE L'ÉDITEUR

05/08/2017

Cet article est la version actualisée de l’article [H 1 088] intitulé Introduction au parallélisme et aux architectures parallèles, de Franck CAPPELLO et Jean-Paul SANSONNET, paru dans nos éditions en 1999.

RÉSUMÉ

Le parallélisme est dorénavant utilisé dans la majorité des architectures, des systèmes embarqués aux superordinateurs. Les monoprocesseurs sont remplacés par des processeurs multicœurs. Cet article décrit la notion de parallélisme et ses différents types. Il présente les grandes classes d’architectures parallèles avec leurs ressources et organisations mémoire, en distinguant les architectures homogènes et hétérogènes. Les principes des techniques de programmation sont introduits avec les extensions parallèles des langages de programmation couramment utilisés et les modèles de programmation visant à rapprocher la programmation parallèle de la programmation séquentielle, en incluant les spécificités des architectures. Enfin, les modèles et métriques d’évaluation des performances sont examinés.

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

Lire l’article

ABSTRACT

Introduction to parallelism and parallel architectures

Since the early 2000s, parallelism has found use in most computer architectures, from embedded systems to supercomputers. Multi-core processors have replaced uniprocessors. This article describes parallelism and its different types. It presents the main classes of parallel architectures with their resources and memory organizations, in both homogeneous and heterogeneous architectures. The basic parallel programming techniques are introduced with the parallel extensions of commonly used programming languages, and the programming models designed to close the gap with sequential programming, while allowing for the specific features of parallel architectures. Finally, performance evaluation is presented with metrics and performance models.

Auteur(s)

  • Franck CAPPELLO : Docteur en Informatique de l’université Paris Sud - IEEE Fellow

  • Daniel ETIEMBLE : Ingénieur de l’INSA de Lyon - Professeur émérite à l’université Paris Sud -

INTRODUCTION

La notion de parallélisme, qui consiste à utiliser plusieurs processeurs ou opérateurs matériels pour exécuter un ou plusieurs programmes, est ancienne. Les multiprocesseurs datent des années 1960. De cette période jusqu’à la fin des années 1990, des architectures parallèles ont été utilisées pour les applications nécessitant des besoins de calcul que les monoprocesseurs étaient incapables de fournir. Étaient concernés les mainframes et serveurs d’une part, et les machines vectorielles puis parallèles utilisées pour le calcul scientifique hautes performances d’autre part. Les années 1980 ont vu l’apparition de différentes sociétés proposant des machines parallèles, sociétés qui ont assez rapidement disparu. La raison essentielle est liée aux progressions exponentielles des performances des microprocesseurs, utilisés dans les PC et les serveurs multiprocesseurs. L’utilisation massive du parallélisme se limitait aux très grandes applications de simulation numérique avec les architectures massivement parallèles. Le début des années 2000, avec les limitations des monoprocesseurs et le « mur de la chaleur », a complètement changé la situation (voir [H 1 058]). Les processeurs multicœurs sont présents en 2016 dans les architectures matérielles pour tous les types de composants : appareils mobiles (smartphones, tablettes), systèmes embarqués, télévisions, PC portables et PC de bureau, et jusqu’aux machines parallèles et superordinateurs pour la très haute performance.

Dans cet article, nous introduisons la notion de parallélisme, présentons les différents types de parallélisme et les différentes formes d’architectures parallèles. Alors que la programmation des machines parallèles a été longtemps réservée à des spécialistes, tout programmeur doit maintenant maîtriser les notions essentielles de la programmation parallèle pour tirer parti des possibilités des architectures. Nous présentons les extensions parallèles des langages de programmation couramment utilisés, les modèles de programmation développés qui visent à « rapprocher » la programmation parallèle des techniques de la programmation séquentielle tout en prenant en compte les spécificités des architectures parallèles. Enfin, l’intérêt des architectures parallèles réside dans les performances qu’elles permettent d’atteindre. Pour optimiser ces performances et/ou réduire la consommation énergétique, il est nécessaire de modéliser d’une part le parallélisme existant dans une application et d’autre part les architectures parallèles. Nous examinons donc les métriques utilisées pour évaluer ou prévoir les performances et les grandes lois qui les gouvernent.

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.

KEYWORDS

data and control parallelism   |   SIMD extensions   |   Flynn's taxonomy   |   shared and distributed memories   |   execution models   |   programming models   |   OpenMP   |   MPI   |   pThreads   |   Amdhal's law   |   Roofline model

VERSIONS

Il existe d'autres versions de cet article :

DOI (Digital Object Identifier)

https://doi.org/10.51257/a-v2-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

Lecture en cours
Présentation

6. Ressources des architectures parallèles

Jusqu’à la fin du 20ème siècle, il était relativement facile de présenter l’aspect matériel des architectures parallèles Celles-ci concernaient les serveurs, utilisant des multiprocesseurs et les super-ordinateurs, généralement constitués de clusters de clusters de multiprocesseurs. Pour les super-ordinateurs, les caractéristiques des processeurs, des hiérarchies mémoire et des réseaux d’interconnexion étaient les éléments principaux à détailler.

Avec le « mur de la chaleur » (voir [H 1 058]) qui a conduit au « virage vers le parallélisme » et la naissance des multicœurs, puis des GPUs et des many-cores, présenter les architectures matérielles parallèles revient à présenter toute la gamme des architectures, des systèmes mobiles (smartphones et tablettes) et embarqués aux super-ordinateurs et serveurs des data-centers en passant par les PC de bureau et PC portables. Dans tous les cas, les performances nécessaires aux applications s’accompagnent de contraintes de limitation de la consommation énergétique et de dissipation de chaleur. Pour les appareils mobiles, il s’agit de prolonger la durée de vie des piles ou batteries. Pour les PC de bureau, il faut que la puissance dissipée soit compatible avec un refroidissement par air. Pour les super-ordinateurs et data-centers, il s’agit de limiter la consommation électrique et limiter le coût des systèmes de refroidissement.

Comme pour les architectures monoprocesseurs, les ressources des architectures parallèles comprennent les processeurs, les mémoires et les réseaux d’interconnexion . Il est impossible dans le cadre de cet article de fournir des exemples détaillés couvrant l’ensemble des domaines utilisant des architectures parallèles :

  • smartphones et tablettes ;

  • différents types de systèmes embarqués ;

  • PC de bureau et PC portables ;

  • serveurs ;

  • super-ordinateurs.

Le lecteur intéressé trouvera dans les articles ...

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
Ressources des architectures parallèles
Sommaire
Sommaire

BIBLIOGRAPHIE

  • (1) - KOBAYASHI (H.) -   Feasibility Study of a Future HPC System for Memory-Intensive Applications : Final Report.  -  Proceedings of the joint Workshop on Sustained Simulation Performance, University of Stuttgart (HLRS) and Tohoku University, pp 3-16 (2014).

  • (2) - KOBAYASHI (H.) -   Feasibility Study of a Future HPC System for Memory-Intensive Applications : Final Report.  -  in SuperComputing, NEC Booth, http://jpn.nec.com/hpc/info/pdf/SC13_NEC_Tohoku_Prof.Kobayashi.pdf (2013).

  • (3) - BERNSTEIN (A.J.) -   Analysis of Programs for Parallel Processing.  -  IEEE Transactions on Electronic Computers. EC-15 (5) : 757-763 (October 1966).

  • (4) -   *  -  Intel® 64 and IA-32 Architectures Software Developer Manuals, http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html.

  • (5) -   *  -  ARM Synchronization Primitives, http://infocenter.arm.com/help/topic/com.arm.doc.dht0008a/DHT0008A_arm_synchronization_primitives.pdf.

  • ...

Cet article est réservé aux abonnés.
Il vous reste 94% à 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