- Programmation parallèle
-
Calcul parallèle
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
- Multiprocessus
- Allocation de ressources
- Recherche du parallélisme dans les problèmes et algorithmes
- Compilation matérielle
- Automate cellulaire
- Hypercube
Langages de programmation
Bibliothèque de programmation
Liens externes
- Internet Parallel Computing Archive
- IEEE Distributed systems online
- HPCC Grand Challenges
- Nan's Parallel Computing Page
- Portail de l’informatique
Catégories : Programmation concurrente | Calcul parallèle
Wikimedia Foundation. 2010.