L'informatique parallèle

11/01/2019

Définition

L'informatique parallèle consiste à utiliser plusieurs processeurs ou cœur pour exécuter un ou plusieurs programmes en même temps.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 informatique é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 ( arrivé 1960) sont remplacés par des processeurs multicœurs.(années 2000)

Processing permet la programmation parallèle en créant plusieurs processus (threabs) 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éseauxd'ordinateurs, et des machines vectoriellesétant faiblement parallèles. Dans une machine vectorielle (outils qui permettent d'atteindre une direction : un processus et un seul), 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, MISDet MIMD.

Cette classification permet de répertorier les différentes architectures

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.

  • Représentation de l'architecture

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 personnels .

Machine 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 plusieurs résultats.

  • Représentation de l'architecture :

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.

  • Exemple d'exécution d'une instruction d'addition vectorielle

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 .

  • Représentation de l'architecture

Le type MISD a été le moins utilisé de ces quatre architectures. Cependant, les calculateurs de commande de vol de la navette spatiale sont un exemple frappant de la technologie MISD en informatique.

  • Représentation du programme

Machine MIMD :

Système utilisant plusieurs processeur et exécutant des instructions multiples
Pour synchroniser es différentes partie entre elles c'est l'horloge : elle permet de synchroniser le fonctionnement des processeurs et des différentes partie de l'ordinateur. Les fréquences d'horloge des ordinateur sont de quelque Giga Hertz (2 ou3)

Nous distinguons plusieurs types d'architecture

  • 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 processeur 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 est 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.

Les liaisons asynchrone ou synchrone : l'horloge permet de synchroniser les liaisons

Un bus est un moyen de communication

© 2018 Le site d'ISN de Julien et Louis. Tous droits réservés.
Optimisé par Webnode
Créez votre site web gratuitement ! Ce site internet a été réalisé avec Webnode. Créez le votre gratuitement aujourd'hui ! Commencer