Title: Cours 2 Architectures
1Cours 2Architectures
- Pierre Delisle
- Université du Québec à Chicoutimi
- Département dinformatique et de mathématique
2Plan de la présentation
- Introduction
- Réseaux dinterconnexion
- Tableaux de processeurs
- Multiprocesseurs
- Multi-ordinateurs
- Taxonomie de Flynn
- Présentation du devoir
3Vue densemble simplifiée du calcul parallèle des
années 2000
4Introduction
- 1960-1990 beaucoup de développement dans les
architectures, mais trop de variété - Processeurs fabrication propriétaire vs.
générique - Petit nombre de processeurs super-puissants vs.
grand nombre de processeurs ordinaires - Aujourdhui
- Utilisation de CPU génériques, croissance plus
rapide que les technologies propriétaires - Questions
- Comment relier ces processeurs les uns aux
autres? - Comment relier ces processeurs à la mémoire ?
5Réseau dinterconnexion
- Sert à
- Relier les processeurs à une mémoire partagée
- Relier les processeurs les uns aux autres
- Le médium du réseau peut être
- Partagé
- Commuté
- Problématiques
- Vitesse de communication vs. vitesse des
processeurs
6Médium partagé
- Les messages sont envoyés à tous, un à la fois
- Tous les processeurs reçoivent le message mais
seuls ceux identifiés comme destinataires le
conservent - Exemple Ethernet
- Beaucoup de communications collisions
P
P
P
P
7Médium commuté
- Permet des communications point-à-point entre
paires de processeurs - Chaque processeur a un lien avec le médium
- Principaux avantages sur le médium partagé
- Permet des communications simultanées
- Plus extensible à de grand nombre de processeurs
- Principaux inconvénients
- Complexité
- Coût
Médium commuté
P
P
P
P
8Topologie du réseau dinterconnexion
- Directe 1 processeur 1 commutateur
- Indirecte Nb. processeurs lt Nb. Commutateurs
- Critères de performance du réseau
- Diamètre Distance maximum entre 2 nuds
- Largeur bissectionnelle Nombre min. de liens
devant être enlevés pour sectionner le réseau en
deux moitiés - Degré Nb de liens directs dun nud vers
dautres nuds - Longueur des liens entre les noeuds
- Grille, Arbre binaire, Arbre hyperbolique,
Papillon, Hypercube, Multi-étage - Aucune topologie nest supérieure sur tous les
critères
9Tableaux de processeurs (Arrays)
- Ordinateur vectoriel ordinateur contenant des
instructions sur des vecteurs (tableau de
valeurs) - Tableau (réseau) de processeurs ordinateur
vectoriel comprenant un ensemble déléments de
calcul identiques et synchrones (p.38) - Les éléments de calcul sont des processeurs
primitifs contrôlés par un processeur standard - Les processeurs effectuent simultanément la même
opération sur des données différentes - Parallélisme de données
- Vecteur lt Tableau Perte de performance
- Vecteur gt Tableau Mapping (manuel ou système)
10Le besoin darchitectures flexibles
- Problèmes associés aux ordinateurs vectoriels
- Peu flexibles (limité principalement au
parallélisme de données) - Difficiles à programmer
- Technologie progressant trop lentement par
rapport aux processeurs génériques - Etc
- 2 types dordinateurs mieux adaptés aux besoins
actuels se sont développés depuis les années 90 - Multiprocesseurs
- Multi-ordinateurs
11Multiprocesseur
- Ordinateur comprenant plusieurs processeurs
pouvant être génériques - Mémoire partagée
- Supporte plusieurs utilisateurs
- 2 types
- Centralisé
- Distribué
12Multiprocesseur centralisé
- Extension de larchitecture séquentielle typique
- Un bus relie les processeurs à la mémoire et aux
E/S - La mémoire cache permet daccélérer les calculs
sur chaque processeur en réduisant les accès à la
mémoire - 2 autres appellations, liées au temps daccès à
la mémoire par tous les processeurs - Uniform Memory Access (UMA) Multiprocessor
- Symmetric Multiprocessor (SMP)
- Les processeurs communiquent par des
lectures/écritures sur des variables en mémoire
partagée
13Multiprocesseur centralisé
- Les caches réduisent la charge sur bus/mémoire
- Exemples
- High-Range IBM p5 595 jusquà 64 procs à 1.9
Ghz - Mid IBM p5 570, 16 procs 1.9 Ghz, 32 Go RAM
378,000 - 2 Problèmes
- Cohérence de cache
- Synchronisation
CPU
CPU
CPU
Cache
Cache
Cache
Bus
Mémoire principale
Entrées /Sorties
14Cohérence de cache
- La duplication de certaines données dans les
caches permet de minimiser les accès mémoire - Que fait-on lorsquune écriture est effectuée?
- Exemple p. 45
- Protocole de cohérence de cache ensemble de
règles assurant que les processeurs possèdent la
même valeur dun emplacement mémoire - Espionnage (Snooping) / write invalidate
15Synchronisation
- Dans certains cas dexécution parallèle, des
règles de précédence doivent être respectées - Dans un contexte de mémoire partagée, des
mécanismes permettent dassurer un certain ordre
dans les opérations - Exclusion mutuelle seulement un processeur doit
effectuer une partie de programme - Section critique partie de programme ne pouvant
être effectuée que par un processeur à la fois - Barrière de synchronisation les processeurs
sont arrêtés à un certain point du programme
jusquà ce que tous les processeurs aient atteint
ce point - Ces mécanismes peuvent être implémentés de façon
matérielle ou logicielle
16Multiprocesseur distribué
- La mémoire principale est distribuée entre les
processeurs - Les accès à la mémoire locale sont plus rapides
que ceux à la mémoire distante - Permet un plus grand nombre de processeurs
CPU
CPU
CPU
Cache
Cache
Cache
Mémoire
E/S
Mémoire
Mémoire
E/S
E/S
Réseau dinterconnexion
17Multiprocesseur distribué
- Même si elle est physiquement distribuée, la
mémoire est vue logiquement comme unique - Non Uniform Memory Access (NUMA) les temps
daccès à la mémoire peuvent varier
considérablement selon la localité - Réseau dinterconnexion problème de cohérence
de cache trop complexe pour le protocole
despionnage - Solution protocole basé sur un répertoire
18Multi-ordinateur
- La mémoire est physiquement organisée comme celle
du multiprocesseur distribué - Logiquement, espaces dadressage disjoints
- Chaque processeur na accès quà sa propre
mémoire locale - Interactions entre processeurs effectuées par
passage de messages - Peut être
- Asymétrique
- Symétrique
19Multi-ordinateur asymétrique
- Composé dun ordinateur principal complet et de
plusieurs ordinateurs dédiés au calcul - Ordinateur principal
- Point dentrée du système
- Fonctionnalités standard dun ordinateur (OS,
E/S, etc.) - Contient le programme qui contrôle les autres
procs
Ordinateur
Ordinateur principal
Réseau dinterconnexion
Ordinateur
Utilisateur
Ordinateur
Multi-ordinateur
20Multi-ordinateur asymétrique
- Ordinateurs dédiés au calcul
- Système dexploitation minimal
- Pas dentrées/sorties
- Problèmes
- Une panne sur lordinateur principal, plus de
machine ! - Beaucoup dutilisateurs goulot détranglement
sur la machine principale ! - Programmes difficiles à débugger, pas dE/S sur
les procs - Nécessite lécriture de 2 programmes
(maître-esclave)
21Multi-ordinateur symmétrique
- Ordinateurs identiques, même fonctionnalités
- Plusieurs points dentrée pour les utilisateurs
- Avantages
- Charge répartie sur le système plutôt que
concentrée - Un ordinateur peut se permettre de tomber en
panne - Un seul programme pour tous les ordinateurs
Utilisateur
Ordinateur
Ordinateur
Réseau dinterconnexion
Ordinateur
Ordinateur
Utilisateur
Ordinateur
Ordinateur
Multi-ordinateur
22Multi-ordinateur symmétrique
- Désavantages
- Chaque nud pouvant servir dentrée et ayant sa
propre identité, lillusion dun seul système est
difficile à maintenir - Difficulté de répartition de la charge de calcul
générale, de tous les utilisateurs, sur les
processeurs - Compétition entre les programmes pour le temps
CPU limite la performance
23Clusters vs. Réseaux de stations
- Réseau de stations (NOW)
- Ensemble hétérogène dordinateurs
- Souvent réparti géographiquement
- Les nuds sont souvent déjà utilisés localement
- Calcul parallèle Utilisation secondaire des
machines - Connectés par un réseau générique, souvent
Ethernet - Cluster
- Ensemble homogène dordinateurs
- Réunis géographiquement
- Nuds dédiés au calcul parallèle
- Ressource unifiée de calcul parallèle
- Réseau haut débit (Fast/Gigabit Ethernet, Myrinet)
24Clusters vs. Réseaux de stations
- Principal avantage des NOW Peu coûteux et
facile à construire avec des composantes
génériques
25Taxonomie de Flynn
- SISD Single Instruction Single Data
- Ordinateurs séquentiels
- SIMD Single Instruction Multiple Data
- Tableaux de processeurs (arrays)
- Ordinateurs vectoriels en pipelilne
- MISD Multiple Instruction Multiple Data
- Tableaux systoliques (systolic array)
- MIMD Multiple Instruction Multiple Data
- Multiprocesseurs et Multi-Ordinateurs
- La plupart des machines parallèles daujourdhui
- Modèle trop générique pour illustrer la diversité
des architectures actuelles
26Sommaire
- Lintérêt pour les tableaux de processeurs a
diminué avec - Diminution du coût des microprocesseurs
- Rigidité du parallélisme de données
- Petits ordinateurs parallèles
- 2 lt Nombre de processeurs lt 64
- Typiquement de type Multiprocesseur (SMP)
- Vue globale de la mémoire, cohérence de cache
- Grands ordinateurs parallèles
- 64 lt Nombre de processeurs lt Quelques centaines
- Typiquement de type Multi-Ordinateur
- Souvent des clusters de SMP
27Conclusion
- Les différents types dordinateurs ne se
programment pas tous de la même façon - Prochain cours Conception dalgorithmes en
général - 3 cours suivants Algorithmique et programmation
sur Multiprocesseurs/Multi-ordinateurs - Questions ?
- Devoir 1