Vous êtes sur la page 1sur 30

Chapitre 1

Introduction aux architectures


parallles

Abdallah GHOURABI
2014/2015 MP1_RAD - Algorithmique et architectures parallles
1
Architecture squentielle
(Modle de von Neumann)
Les premiers ordinateurs taient squentiels,
excutant les instructions dun programme l'une
aprs l'autre.
La mmoire : contient le
programme (instructions) et les
donnes.
Instructions Donnes
Unit de traitement (UAL) :
effectue les oprations.
Unit de contrle : charge du
squenage des oprations.
Entre/Sortie : permettent de
communiquer avec le monde
extrieur
2
Architecture parallle : motivations

1. Les besoins des applications en puissance de


traitement;
2. Les limites de l'approche microprocesseur;
3. L'existence de la proprit du paralllisme
dans les applications.

3
1. Les besoins des applications puissantes
Un certain nombre dapplications ont t classes
grand challenge, et font lobjet de recherches
intensives, tant au niveau matriel quau niveau logiciel
Elles ncessitent trs souvent des puissances de
traitement suprieures celles que peut fournir un
ordinateur squentiel,
Des grandes units pour mesurer lexcution :
1 Traflops
1 Traoctet de mmoire centrale
1 Traoctet par seconde de bande passante pour produire les
rsultats
Ces applications ne peuvent tre ralises quen ayant
recours au paralllisme massif

4
Units de mesure

Calcul de Haute Performance (HPC) :


Flop : opration flottante (double prcision)
Flop/s : opration flottante par seconde
Bytes : taille des donnes (Octets)

Tailles mesures en millions, billions, trillions


Mega Mflop/s = 106 flop/sec Mbyte = 220 ~106 bytes
Giga Gflop/s = 109 flop/sec Gbyte = 230 ~109 bytes
Tera Tflop/s = 1012 flop/sec Tbyte = 240 ~1012 bytes
Peta Pflop/s = 1015 flop/sec Pbyte = 250 ~1015 bytes
Exa Eflop/s = 1018 flop/sec Ebyte = 260 ~1018 bytes
Zetta Zflop/s = 1021 flop/sec Zbyte = 270 ~1021 bytes
Yotta Yflop/s = 1024 flop/sec Ybyte = 280 ~1024 bytes
5
2. Limites de l'approche microprocesseur
Les machines squentielles (un seul
processeur) sont construites autour des
microprocesseurs (standardiss).
L'augmentation de la vitesse d'un processeur
devient de plus en plus coteuse et les gains
sont de plus en plus limits
La puissance des ordinateurs squentiels
augmente de manire rgulire (elle double
tous les 18 mois: Loi de Moore)

6
Performance : Processeur vs Mmoire
La performance des ordinateurs est limite par
la latence et la bande passante de la mmoire

7
3. L'existence de la proprit du
paralllisme dans les applications
Paralllisme de donnes :
La mme opration peut tre ralise par
plusieurs processeurs sur des donnes
diffrentes.
exemple : addition de deux matrices
Paralllisme de contrle ou de tche :
Plusieurs actions qui sont indpendantes
peuvent tre excutes simultanment.

8
Dfinition du paralllisme
Le paralllisme consiste excuter simultanment,
sur des processeurs diffrents, des instructions
relatives un mme programme.
Principe de fonctionnement :
1. Le programme est divis en plusieurs parties pouvant
sexcuter simultanment.
2. Chaque partie est dcoupe en squences dinstructions
3. Les instructions de chaque partie sexcutent sur un
processeur

9
Architecture parallle
Les ressources de calcul parallle peuvent tre :
Une seule machine avec un ou plusieurs
processeurs
Plusieurs machines avec un ou plusieurs
processeurs interconnectes par un rseau
rapide
Une grille de calcul : plusieurs ensembles de
plusieurs machines

Si un CPU peut excuter les oprations arithmtiques du programme


en temps t, alors n CPU peuvent idalement les excuter en temps t/n
Rduction du temps dexcution
10
Paralllisme ?
Processeurs :
Combien de processeurs sont ncessaires ?
Comment accdent-ils la mmoire ?
Communication :
Comment les processeurs communiquent-ils ?
Quel type de rseau dinterconnexion les relie ?
Coopration :
Quelle est la tche de chaque processeur ?
Quel est le degr dautonomie de chaque processeur ?
Efficacit :
Quels problmes sont sujets au traitement parallle ?
Quel facteur dacclration peut tre attendu ?
Comment dcomposer un problme paralllisable ?
11
Classification des Architectures Parallles
Deux principales catgories
Machines mmoire partage.
Machines mmoire distribue.
Le nombre de processeurs composant
une machine peut varier de
Quelques dizaines dans une machine
mmoire partage.
Centaines de milliers dans un systme
massivement parallle (MPP).

12
Classification de Flynn
La classification de Flynn (1966) est l'un des premiers
systmes de classification des ordinateurs crs.
Les programmes et les architectures sont classs
selon le type d'organisation du flux de donnes et du
flux d'instructions.
Flux dinstructions : squence dinstructions excutes par
la machine.
Flux de donnes : squence des donnes appeles par le
flux dinstructions.
Une seule Plusieurs
instruction instructions
Donne SISD MISD
unique Machines squentielles

Plusieurs SIMD MIMD


donnes Machines vectorielles Machines multiprocesseurs
13
Architecture SISD
SISD (Single Instruction, Single Data)
Le premier type d'ordinateur correspond aux
processeurs purement squentiels et incapables de
toute forme de paralllisme.
Excuter une instruction sur une seule donne

14
Architecture SIMD
SIMD (Single Instruction, Multiple Data)
La mme instruction est excute sur plusieurs donnes
Cette catgorie se retrouve dans les microprocesseurs
vectoriels ou matriciels qui effectuent un calcul, en parallle,
sur tous les lments dun vecteur ou dune matrice

15
Architecture MISD
MISD (Multiple Instruction, Single Data)
Plusieurs instructions sont excuts sur une
donne unique
Ce genre de systme est trs rare

16
Architecture MIMD
MIMD (Multiple Instruction, Multiple Data)
Plusieurs processeurs qui traitent, en parallle, plusieurs donnes
La classe la plus intressante pour implmenter des architectures
parallles
2 sous-classes :
MIMD mmoire partage
MIMD mmoire distribue

17
Architecture mmoire partage
Les processeurs de la machine ont accs une mmoire
commune.
Exemple : SMP (Symetric Multiprocessor) : multiprocesseur
symtrique ( mmoire partage)
Avantages :
Simplicit de ralisation avec un petit nombre de processeurs (pas
de distribution de donnes)
Inconvnients :
Implique un rseau et une mmoire large bande passante
Gestion des accs concurrents

CPU CPU CPU CPU

BUS
Mmoire 18
Mmoire partage avec cache
Des mmoires intercales entre la RAM et le
processeur.
Ces mmoires caches sont plus petites, mais aussi
plus rapides et permettent ainsi daccder plus
rapidement la mmoire partage.
Problme de cohrence des caches !
CPU CPU CPU CPU
Cache Cache Cache Cache

BUS
Mmoire
19
Mmoire partage : UMA / NUMA
2 classes darchitecture mmoire partage,
diffrencies par les temps daccs mmoire :
UMA (Uniform Memory Access) :
Des CPUs identiques, ayant tous le mme temps daccs
la mmoire
NUMA (Non Uniform Memory Access) :
Conue pour pallier aux problmes daccs mmoire
concurrents via un unique bus .
Les temps daccs la mmoire diffrent suivant la zone
accde. Le temps daccs via le lien dinterconnexion
des blocs est plus lent
Gestion de la cohrence des caches
CC-NUMA : Cache Coherent NUMA

20
Mmoire partage
Espace dadresse global facilite le travail du
programmeur
Mmoire proche des CPUs le partage des
donnes entre tches est rapide
Mais :
Manque de scalabilit : augmenter le nombre de
CPU accrot le trafic sur le chemin daccs la
mmoire
Le programmeur doit grer la synchronisation pour
un accs correct la mmoire
Coteux de construire des architectures mmoire
partage avec un grand nombre de processeurs

21
Architecture mmoire distribue (1)
Les processeurs disposent chacun dune mmoire locale. Il nya pas de
notion despace dadressage global entre tous les processeurs.
Un rseau dinterconnexion est ncessaire pour changer les
informations entre processeurs
Exemple : MPP (Massively Parallel Processing) : machine massivement
parallle
Avantages :
Pas daccs concurrents la mmoire
Bande passante moins critique
Inconvnients :
Implique une distribution des donnes
Rseau local

CPU CPU CPU CPU

Mmoire Mmoire Mmoire Mmoire 22


Architecture mmoire distribue (2)
On peut augmenter le nombre de processeurs
et la mmoire proportionnellement
Accs rapide la mmoire locale sur chaque
processeur
Pas de problme de cohrence des accs
Cot raisonnable ex : PCs en rseau
Mais :
Le programmeur doit grer toutes les
communications entre processeurs
Temps daccs mmoire non locaux levs
23
Architecture hybride
Les ordinateurs les plus puissants au monde sont
aujourdhui un mixte de mmoire partage et
mmoire distribue
Ensemble de nuds qui sont interconnects par
un rseau
Chaque nud est un multiprocesseur mmoire
partage

24
Architecture multi-
multi-coeurs
On grave plusieurs processeurs sur le mme support.
Chaque cur est vu par le systme dexploitation comme un
processeur spar
Avantages :
Augmentation de la puissance de calcul sans augmentation de
la frquence d'horloge
Rduction de la dissipation thermique
Paralllisme au sein dun unique processeur

25
Superordinateur / High Performance
Computing (HPC)
Calcul haute performance

26
Superordinateur (exemple)
Titan
560 640 curs de processeur
17,59 PFLOPS
710 144 GB de mmoire
Systme d'exploitation : Cray Linux Environment
Cot : 97 millions de dollars.

27
Systmes parallles et systmes
distribus
Systmes parallles
ensemble dlments de calcul
qui peuvent communiquer et cooprer
pour rsoudre rapidement de grands
problmes
Systmes distribus
ensemble dordinateurs autonomes
qui ne se partagent pas de mmoire primaire
mais qui cooprent par envoi de messages au
travers un rseau de communication

28
Grappe dordinateurs (Cluster)
Un cluster est un ensemble de
nuds interconnects par un
rseau de communication local
Caractristiques :
Grande puissance de calcul
parallle
Ensemble homogne dordinateurs
Rseau haut dbit

29
Grille informatique (Grid
(Grid))
Ensemble de ressources
informatiques distribues,
htrognes, dlocalises
et autonomes.
Caractristiques :
Puissance de calcul plus
importante
Ressources htrognes

30