Introduction aux systèmes parallèles

publicité
Architecture des systèmes informatiques
CNAM 2000
Introduction aux systèmes parallèles
1. Qu'est que c'est ?:
Utilisation de plusieurs machines pour mener à bien une tâche.
Ensemble de
processeur relié à
un systèmes de
communication
interne à la machine
qui résout un seul
problème à la fois.
Systèmes Parallèles
Systèmes Distribués (répartie)
Plusieurs processeurs proches exécutent
conjointement une tâche pour aller plus vite.
Communication entre les processeurs fiables
et prévisibles.
Processeurs qui peuvent être éloignés.
Communication interprocessus pose des
problèmes de retards (vitesse de propagation)
Manque de fiabilité (panne)
Modification de topologie.
2. Pourquoi utiliser des systèmes parallèles ?
Lois de la physique : Fréquence d'horloge limitée (Puissance consommée = f², on baisse la
tension pour limiter la consommation)
Dans l'avenir le passage à n processeur risque d'être la seule solution viable, pour augmenter la
puissance.
♦ Gain de performance :
Peu de processeur très rapide mais cher
Beaucoup de processeurs lents (ex : ILLYAC, 64 processeurs (1974))
♦ Gain de flexibilité extensibilité :
On peut augmenter la puissance en ajoutant n processeurs.
Les langages de programmation sont indépendants de la topologie (avec 4 ou 20
processeurs)
♦ Traitement temps réel : (simulation d'une machine électronique avec un logiciel)
Adapter aux simulations de systèmes physiques. (ex : traitement par éléments finis)
♦ Aide à la vérification :
Des processeurs vérifient les résultats d'autres processeurs.
(1 prog. exécutent 1 tâche sur n processeurs & 1 prog. Vérifient l'exécution du prog. précédent
Grosse machine
multiprocesseur.
3. Quelques faits & dates :
1980 : Informatique de demain c'est le parallèle ? : non réalise aujourd'hui
L'armé, la
météo, les
scientifiques
qui utilisent
ces machines
Petite machine
1985 : Transputers (beaucoup de microprocesseur, clavier, écran...)
monoprocesseur.
Les sceptiques pensent que cela va apporter plus de mal que de bien
car :
Remise en cause de la théorie,
Redoutable bouleversement matériel
Nouvelles méthode d'analyse & de programmation. (il faut réapprendre à programmer)
1990 : Intel produit IPSC/860 (128 processeurs, 2,6 Giga Flops (Opérations en virgule flottante)
1992 : Thinking Machine CM-5 (IBM) (1024 processeurs (59 G flops)
1
Architecture des systèmes informatiques
CNAM 2000
1997 Intel ASCI Red Tflops (4500 pentium pro, 1 Tera flops, 2 To de DD, 600 Go RAM)
4. Taxinomie : (classement machine parallèle)
4.1. Système fortement couplé :
Il existe un très grande interaction entre processeur via mémoire partagée.
Mémoire
Bus
4.2. Système faiblement couplé :
Chaque processeur dispose d'une mémoire locale et chaque ensemble mémoire processeur
communique via un bus d'interconnexion.
Processeurs & mémoire
Bus
Autre système de classement selon instruction & les données sont réparties.
4.3. SISD : (Single Instruction Stream Single Data Stream)
1 seul flux d'instruction
1seul flux de donnée
Unité de commande
Unité Arithmétique
Logique (UAL)
Mémoire
Bus d'interconnexion
Variante de SISD (pipeline)
UCmd
UAL
UCmd
UAL
UCmd
UAL
UCmd
UAL
Mémoire
Bus d'interconnexion
2
Architecture des systèmes informatiques
CNAM 2000
• Sur 1 processeur normal :
Ttotal = nbre d'opérations × nbre UAL × tps opérations
• En pipeline :
Ttotal = nbre UAL × tps opérations + (nbre d'opérations -1) × tps opérations
Rapport entre les 2
R = Pipeline / Normale
Si n très grand R = 1/ nbre d'opérations
Il est plus avantageux de travailler avec architecture en pipeline si on a beaucoup
d'opérations.
4.4. MISD : (Multiple Instruction Stream Single Data Stream)
Plusieurs flux d'instructions
1seul flux de donnée
Instruction telle que l'adittion +, -, ×, / sont décomposé en étapes élémentaire.
Chaque etage est réalisé chaqu'un son tour sur un processeur particulier.
Processeur Séparés par des registres qui contienent des données à échanger (structure en
pipeline) (Architecture Rares)
4.5. SIMD : (Single Instruction Stream Multiple Data Stream) Pentium III
1 seul flux d'instruction
Plusieurs flux de données
(Instruction capable d'effectuer la même opérations sur plusieurs donnée à la fois)
Processeur Traitant en parallèle de la même façon les éléments d'un vecteur.
Très efficace pour le
- Calcul matriciel
- Tri
UCmd
UAL
UAL
UAL
Mémoire
Ex :
Cray 1 (1976)
VP2000 Futjisu (pipeline
7 étages
Bus Synchrone
4.6. MIMD : (Multiple Instruction Stream Multiple Data Stream)
Plusieurs flux d'instructions
Plusieurs flux de données
Plusieurs processeurs & modules de mémoire
Chaque processeur execute les instructions stocké dans son module de mémoire.
Il existe un réseau d'interconnexion entre chaque processeur+mémoire
Bus Asynchrone
3
Architecture des systèmes informatiques
CNAM 2000
5. Classification des MIMD :
5.1. Faiblement couplées :
Problèmes : liaison entre processeurs
(Ecriture lecture sur un même emplacement mémoire
Un processeur monopolise le bus d'interconnexion)
5.2. Fortement Couplées :
Processeur peuvent être associé à 1 mémoire partagés
Mémoire structuré en module parallèle.
Avantage : Facile à programmer car on ne s'occupe pas de la mémoire
Inconvénient : Faible extensibilité, engorgement de la mémoire quan on augmente le
nombrede processeurs (la mémoire cache limite le problème)
5.3. Système Multiprocesseurs & Mémoire patagées :
(en fortement couplé)
Mémoire partagé ⇒ conflit d'accès : au niveau instruction & données
Si on augmente le nombre de processeur on n'augmente pas le rendement.
(Ex: Batterfly (1978) ⇒ DARPA (processeur 68000 Motorolla)
5.4. Système Multiprocesseur & Mémoire Distribué :
(en faiblement couplé ou couplage lâche (losely coupled architectur))
Echange sur le réseau de messages qui contiennent les programmes paquets de données à
traiter) topologie en réseau (bus, point à point)
Problème :
Blocage mutuelle :
2 Processeurs attendent mutuellement des informations
Famine :
1 Processeurs monopolise le réseau d'interconnexion
Etreinte Eternelle :
2 processeurs monopolise le système (bouclage l'un sur l'autre)
Exemple :
Hyper cube (intel)
1986 IPSC/1 de 32 à 128 Processeur
Cube de dimension 5 (32 nœuds, 32 processeurs)
Chaque nœud contenant :
Mémoire Locale
510 ko
CPU
80286
Co-processeur
80287
Soit 128 nœuds equivaut ici a 8 MFLOPS.
4
Téléchargement