Programmation parallèle

Programmation parallèle

Calcul parallèle

Page d'aide sur l'homonymie Pour les articles homonymes, voir parallèle.

En informatique, le calcul parallèle consiste en l'exécution d'un traitement pouvant être partitionné en tâches élémentaires adaptées afin de pouvoir être fractionnées entre plusieurs unités (cores, processeur(s) ou même ordinateurs), opérant simultanément en vue de traiter plus rapidement que dans une exécution séquentielle des problèmes plus grands (à technologie constante).

Sommaire

Intérêt

La réalisation de ces objectifs se traduit par des économies dans presque tous les domaines du calcul, incluant: la dynamique des fluides, les prédictions météorologique, la modélisation et simulation de problèmes de dimensions plus grandes, le traitement de l'information et l'exploration de données, le traitement d'images ou la fabrication d'images de synthèse, tels que le lancer de rayon, (avec les fermes de rendu), l'intelligence artificielle et la fabrication automatisée.

Elle permet aussi de traiter des problèmes nouveaux, d'apporter des solutions globales à des problèmes qui étaient abordés plus partiellement auparavant.

Ordinateur parallèle

Le terme ordinateur parallèle est parfois utilisé en référence à un ordinateur qui possède plus d'une unité centrale de traitement et qui peut effectuer un traitement parallèle.

Il existe plusieurs types d'ordinateurs (ou de processeurs) parallèles, caractérisés, principalement, par différents modèles d'interconnexions entre les processeurs et entre les processeurs et la mémoire. La classification la plus populaire est la taxonomie de Flynn, qui catégorise les ordinateurs parallèles (et sériels) selon le type d'organisation du flot de données et du flot d'instructions. Elle distingue ainsi les machines SIMD (à flot d'instructions unique agissant sur des données multiples) et les machines MIMD (à flot d'instructions et de données multiples).

Bien qu'un système de n processeurs en parallèle ne soit pas plus efficace qu'un seul processeur ayant n fois la vitesse de l'un d'eux, le système parallèle est souvent moins coûteux à réaliser. Le calcul parallèle est donc une excellente solution pour des tâches exigeantes en calcul et/ou ayant des contraintes temporelles critiques (cf. Systèmes en temps réel). En fait, la plupart des systèmes de calcul de haute performance (aussi appelés superordinateurs ou supercalculateurs) qui ont été conçus au cours des dernières années ont une architecture parallèle.

Technologie

Trois facteurs principaux ont contribué à la forte tendance actuelle en faveur du traitement parallèle.

Coût du matériel

Il a décru de manière constante, de sorte qu'il est aujourd'hui possible de construire des systèmes à multiprocesseurs à moindre coût.

Intégration à très grande échelle

La technologie des circuits a progressé à un tel point qu'il est devenu possible de fabriquer des systèmes complexes nécessitant des millions de transistors sur une seule puce.

On peut alors doubler ou tripler, voire davantage, quelques circuits de calcul sur cette même puce en la munissant de circuits de contrôle veillant à répartir les calculs entre eux, ainsi qu'à éviter les collisions que pourrait impliquer ce parallélisme.

Vitesse de traitement des ordinateurs

La vitesse des traitements séquentiels traditionnels, basés sur le modèle de von Neumann, semble s'approcher de la limite physique au-delà de laquelle il n'est plus possible d'accélérer. On peut en revanche disposer de :

  • plusieurs processeurs dans la même puce,
  • plusieurs puces sur la même carte mère,
  • plusieurs cartes mères dans le même châssis.

C'est sur la combinaison de ces principes que sont construit les ordinateurs les plus puissants du moment (Roadrunner 2008).

Gains quantitatifs dus au calcul parallèle

Ils sont donnés par la loi d'Amdahl, qui procède d'une simple règle de trois sur des données simplifiées. Voir cet article.

Autres considérations plus nébuleuses

La thèse du calcul parallèle s'énonce comme suit: Tout problème pouvant être résolu sur un ordinateur séquentiel raisonnable en utilisant un espace de taille polynomiale peut être résolu en temps polynomial par un ordinateur parallèle raisonnable et vice versa.

La thèse de l'invariance est une thèse complémentaire qui supporte, du moins de façon approximative, la définition d'une notion d'ordinateur raisonnable. Elle s'énonce comme suit: Des machines raisonnables peuvent se simuler entre elles avec au plus un accroissement polynomial en temps et une multiplication constante de l'espace. Une manière de construire des modèles raisonnables est de considérer la classe des machines raisonnables incluant la machine de Turing.

Sujets apparentés

Sujets généraux

Langages de programmation

Bibliothèque de programmation

Liens externes

  • Portail de l’informatique Portail de l’informatique

Ce document provient de « Calcul parall%C3%A8le ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Programmation parallèle de Wikipédia en français (auteurs)

Игры ⚽ Нужна курсовая?

Regardez d'autres dictionnaires:

  • programmation parallèle — lygiagretusis programavimas statusas T sritis automatika atitikmenys: angl. concurrent programming; multiple programming; parallel programming vok. Parallelprogrammierung, f; Programmierung für Multiprogrammverarbeitung, f rus. параллельное… …   Automatikos terminų žodynas

  • Programmation multicœur — Microprocesseur multi cœur Pour les articles homonymes, voir Cœur (homonymie), Dual, Quad, Tetra et Core. Un microprocesseur multi cœur (multi core en anglais) est un processeur possédant plusieurs cœurs physiques. Sommaire …   Wikipédia en Français

  • Programmation — informatique Pour les articles homonymes, voir Programmation (homonymie). La programmation dans le domaine informatique est l ensemble des activités qui permettent l écriture des programmes informatiques. C est une étape importante de la… …   Wikipédia en Français

  • Programmation Web — Wikibooks propose un ouvrage abordant ce sujet : Programmation Web …   Wikipédia en Français

  • PROGRAMMATION MATHÉMATIQUE — La programmation mathématique consiste à chercher, parmi tous les points x vérifiant certaines conditions du type: celui ou ceux qui rendent minimal (ou maximal, suivant le cas) un certain critère f (x ), qui sera interprété comme un gain dans le …   Encyclopédie Universelle

  • Programmation Génétique — La programmation génétique est une méthodologie automatique inspirée par la théorie de l évolution telle qu elle a été définie par Charles Darwin dans le cas particulier des mécanismes biologiques. Elle se fixe pour but de trouver par… …   Wikipédia en Français

  • Programmation genetique — Programmation génétique La programmation génétique est une méthodologie automatique inspirée par la théorie de l évolution telle qu elle a été définie par Charles Darwin dans le cas particulier des mécanismes biologiques. Elle se fixe pour but de …   Wikipédia en Français

  • Programmation évolutionnaire — Programmation génétique La programmation génétique est une méthodologie automatique inspirée par la théorie de l évolution telle qu elle a été définie par Charles Darwin dans le cas particulier des mécanismes biologiques. Elle se fixe pour but de …   Wikipédia en Français

  • Programmation web — La programmation web peut prendre différentes formes : de la simple page statique à la page dynamique avec connexion à une base de données. Nous allons tracer ici un bref aperçu de différentes technologies possibles dans la programmation… …   Wikipédia en Français

  • Programmation génétique — La programmation génétique est une méthode automatique inspirée par le mécanisme de la sélection naturelle tel qu il a été établi par Charles Darwin pour expliquer l adaptation plus ou moins optimale des organismes à leur milieu. Elle a pour but… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”