Académique Documents
Professionnel Documents
Culture Documents
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
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
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
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
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
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
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