L'Informatique parallèle
- Miya & Max
- 28 avr. 2019
- 3 min de lecture
L'informatique parallèle, c'est quoi?
L’informatique parallèle consiste à utiliser plusieurs processeurs ou opérateurs matériels pour exécuter un ou plusieurs programmes à la fois.Ces techniques ont pour fonction de réaliser le plus grand nombre d'opérations en un laps de temps le plus court possible.
Jusqu’au début des années 2000, le parallélisme était réservé aux serveurs et aux superordinateurs. Il est maintenant utilisé dans la grande majorité des architectures, des systèmes embarqués aux superordinateurs. Les monoprocesseurs sont remplacés par des processeurs multicœurs.
Processing permet la programmation parallèle en créant plusieurs processus (threads) s’exécutant en même temps.
Machines parallèles
Une machine parallèle est essentiellement un ensemble de processeurs qui coopèrent et communiquent.
D’un point de vue historique les premières machines parallèles sont des réseaux d’ordinateurs, et des machines vectorielles étant faiblement parallèles. Dans une machine vectorielle (outils qui permettent d’exécuter un seul processus à la fois), les données sont décomposées en vecteurs indépendants, c'est-à-dire en tableaux contenant des chiffres de plusieurs calculs qui peuvent s'effectuer simultanément.
Nous distinguons particulièrement quatre grandes classes d'architectures parallèles en informatique définie par la taxinomie de Flynn: SISD, SIMD, MISD et MIMD.
Cette classification permet de répertorier les différentes architectures par rapport aux notions de flot de contrôles et flot de données.
Machine SISD
La machine SISD ou encore Instruction unique sur données uniques en français est une architecture matérielle dans laquelle un seul processeur exécute un seul flot d'instruction sur des données résidant dans une seule mémoire.
Ces machines sont les plus simples, elles traitent une donnée à la fois:c'est pour cela que nous nommons ces systèmes « séquentiels».Jusqu'à la fin des années 1990 ce type de fonctionnement était populaire sur les ordinateurs .
Machines SIMD
Single Instruction on Multiple Data (instruction unique, données multiples), ou SIMD est une architecture dans laquelle une même instruction est appliquée simultanément à plusieurs données pour produire
Le modèle SIMD convient particulièrement bien aux traitements dont la structure est très régulière, comme c'est le cas pour le calcul matriciel. Généralement, les applications qui profitent des architectures SIMD sont celles qui utilisent beaucoup de tableaux, de matrices, ou de structures de données du même genre. On peut notamment citer les applications scientifiques, ou de traitement du signal comme la vidéo et le son.
Ces instructions sont des instructions qui peuvent effectuer plusieurs opérations en parallèle, sur des données différentes.
Les opérations en question peuvent être :
des additions ;
des soustractions ;
des multiplications ;
éventuellement des divisions
ou des opérations mathématiques plus complexes.
Toutes ces instructions SIMD travaillent sur un ensemble de données de même taille et de même type. Ces données sont rassemblées dans ce qui ressemble être des blocs de données, d'une taille fixe, qu'on appelle un vecteur. Ces vecteurs contiennent plusieurs nombres entiers ou nombres flottants** placés les uns à côté des autres.
Une instruction SIMD va traiter chacune des données du vecteur indépendamment des autres. Par exemple, une instruction d'addition SIMD va additionner ensemble les données qui sont à la même place dans deux vecteurs, et placer le résultat dans un autre vecteur, à la même place. Quand on exécute une instruction sur un vecteur, les données présentes dans ce vecteur sont traitées simultanément.
Machine MISD
MISD ou instructions multiples, données uniques en français est un type d'architecture qui peut exécuter plusieurs instructions en même temps sur la même donnée .
Le type MISD a été le moins utilisé de ces quatres architectures. Cependant, les calculateurs de commande de vol de la navette spatiale sont un exemple frappant de la technologie MISD en informatique.
Machine MIMD
Les systèmes utilisant plusieurs processeurs ou un processeur multi-cœur sont plus polyvalents et pleinement parallèles, ce sont des MIMD ou Multiple Instructions, Multiple Data .Pour assurer la cohérence des données, il est souvent nécessaire de synchroniser les processeurs entre eux, les techniques de synchronisation dépendent de l'organisation de la mémoire. Ces processeurs exécutent des instructions multiples sur données multiples (nécessaire de les synchroniser). L’horloge permet de synchroniser le fonctionnement des processeurs et des différentes parties de l’ordinateur. Fréquence d’horloge de quelques GHz.
MIMD à mémoire partagée
Une machine MIMD à mémoire partagée est constituée de processeurs avec des horloges indépendantes accédant à une mémoire commune.
La synchronisation des exécutions des processeurs est nécessaire dans certains cas pour éviter le risque d'incohérence des données.Elle peut se faire au moyen barrières de synchronisation ,etc..
MIMD à mémoire distribuée
Une machine MIMD à mémoire distribuée dispose de processeurs possédant leur propre mémoire et ne pouvant pas accéder à celle des autres processeurs. Si ce mécanisme de communication existe c'est dû au fait que lors de la mémoire partagée les processeurs sont physiquement éloignés pour qu'il y ait un partage de petites informations. Les informations lors de la mémoire distribuée sont alors communiquées, en étant échangées entre les processeurs sous la forme de message, de façon asynchrone ou synchrone.
Comments