introducon au parallélisme - lricecile/enseignement/ipar/cours/cours... · 2010. 1. 7. · • 12...
Post on 13-Jun-2021
0 Views
Preview:
TRANSCRIPT
Introduc)onauparallélisme
CécileGermain‐Renaudcecile.germain@lri.fr
Organisa)on
• 12séancescoursetTD,4hchacune• 3séancesparJoëlFalcou• Lesslidesnesuffisentvraimentpas
– Aidemémoire+illustraIons
– Lecoursoralestsupposéconnupourl’examen
• CalendrierettoutesinformaIonssurlesiteducours–vousdevezleconsulter.
2 Introduction au parallélisme
www.lri.fr/~cecile/ENSEIGNEMENT/IPAR
Contrôledesconnaissances
• ContrôleconInu– Deuxdevoirs‐largementcommencésenTD.Arendreàladateprévue.1jourderetard=‐1point.Devoirsindividuels.
– Unexposé.Choixdans6semaines,exposés+ficherésuméàladernièreséance.Travailenbinôme,l’unestnotésurlafichedelecture,l’autresurl’exposé.
• Examen– Tousdocumentsautorisés.Vousdevezamenerlesdocuments,énoncés,…uIlisésencours/TD.
3 Introduction au parallélisme
www.lri.fr/~cecile/ENSEIGNEMENT/IPAR
Plan
1. MoIvaIonetconcepts2. Algorithmiqueparallèle
3. ProgrammaIonparallèle– Passagedemessages– OpenMP
4. Modèlesformels– ParallélisaIonautomaIque
– Modèlesavancés
Introduction au parallélisme 4
1.Mo)va)onetconcepts
Introduction au parallélisme 5
Plan
• MoIvaIon• Architecturesparallèles
– Lesinfrastructuresparallèlesen2009
– Typologie– Exemples
• Performance– AccéléraIon– Autresindicateurs
Introduction au parallélisme 6
Mo)va)onI:Lesapplica)ons
• Simula'onnumérique:expériencesinsilico‐Troisièmecomposantedelascience– Tropgrandes:météorologie,matériaux,…– Tropdangereuses:maintenancenucléaire– Tropcoûteuses:crash‐tests,concepIonaéronauIque– Impossibles:climat,astrophysique
• Informa'ondeluge– PucesàADN– Traitementpersonnalisé
• Réalitévirtuelleouaugmentée:médias,médical
Introduction au parallélisme 7
Besoinenpuissancedecalcul(compu)ng)virtuellementillimités
Mo)va)onII:Lesordinateurs
Introduction au parallélisme 8
Touteslesinfrastructuresdecalculsontparallèles
Mo)va)onIII:Lessourcesduparallélisme
• Parallélismededonnées– Dèsqu’onadestableaux(àpréciser)
• Parallélismedecontrôle– HighThroughputapplicaIons– Procéduresrécursives– RPC– …
Introduction au parallélisme 9
Lesapplica)onspeuventexploiterlesinfrastructuresparallèles
Unenvironnementlogicielstabilisémaisnonunifié
10
Application
Algorithme
LHN
Environnement d’exécution //
Programmes séquentiels
Résolution système linéaire
Relaxation, méthode directe
Spécification
Programmation
Compilateurs parallèles
Compilateurs + exécutifs
OpenMP, HPF, pC++…
MPI, PVM, threads
Introduction au parallélisme
Unenvironnementlogicielstabilisémaisnonunifié
11
Application
Algorithme
Environnement d’exécution //
Programmes séquentiels
Résolution système linéaire
Relaxation
Spécification
Programmation
Compilateurs + exécutifs
MPI, PVM, threads
Introduction au parallélisme
Unenvironnementlogicielstabilisémaisnonunifié
12
Application
Algorithme
LHN
Environnement d’exécution //
Programmes séquentiels
Résolution système linéaire
Relaxation
Spécification
Programmation
Compilateurs parallèles
Compilateurs + exécutifs
OpenMP, HPF, pC++…
MPI, PVM, threads
Introduction au parallélisme
LeTop500
• Les500ordinateurslespluspuissants– Volontariat– 2foisparandepuis1993.
• EvaluésurLinpack,unbenchmarkfacileetnontrivial
• PerformanceRMaxmesuréeenFLOPS
• AcompareravecRPeak,lapuissanceindépassable.
Introduction au parallélisme 13
LabarrièreduPetaFlopsaétéfranchieen2008
www.top500.org
TOP500:Nombredeprocesseurs/systèmeNovembre2009
Introduction au parallélisme 14
LeTop500enNovembre2009
Introduction au parallélisme 15
1E+04
1E+05
1E+06
1E+07
1 10 100 1000
RMax(GFlops)
Rang
PetaFlops
Evolu)on
Introduction au parallélisme 16
Linpackest‐ilunbenchmarkper)nent?
(…)theLINPACKBenchmarkistosolveadensesystemoflinearequa'ons(…)InanaJempttoobtainuniformityacrossallcomputersinperformancerepor'ng,thealgorithmusedinsolvingthesystemofequa'onsinthebenchmarkproceduremustconformtoLUfactoriza0onwithpar0alpivo0ng.Inpar'cular,theopera'oncountforthealgorithmmustbe2/3n^3+O(n^2)doubleprecisionfloa'ngpointopera'ons.Thisexcludestheuseofafastmatrixmul0plyalgorithmlike"Strassen'sMethod"oralgorithmswhichcomputeasolu'oninaprecisionlowerthanfullprecision(64bitfloa'ngpointarithme'c)andrefinethesolu'onusinganitera'veapproach.
Introduction au parallélisme 17
GordonBellPrize:“peakperformance”
Année Performance1987 450Mflops 1988 1Gflops 1990 14Gflops1996 111Gflops 1999 1.2Tflops 2001 11.4Tflops 2005 107Tflops 2006 207Tflops 2008 1.35Pflops2009 1.84Pflops
18
1E‐01
1E+00
1E+01
1E+02
1E+03
1E+04
1E+05
1E+06
1E+07
1987 1992 1997 2002 2007
Performance(Gflops)
Processeurséquen)el
• ParIeopéraIve• ParIecontrôle• Hiérarchiemémoire• Bus(aupluriel)
Introduction au parallélisme 19
CP
RI
Caches
Mémoire Principale
Bus
Automates
Mémoire Centrale
Processeur
Laclassifica)ondeFlynn
DegréderéplicaIondelaparIeopéraIveetdelaparIecontrôle
Introduction au parallélisme 20
Don
nées
Instructions
CP
RI
Caches
Mémoire Principale
Bus
Automates
Mémoire Centrale
Processeur
SISD MISD
SIMD MIMD
MIMDnonvectoriel
Exploitelesacquisdesarchitecturesdemicroprocesseurs:Hiérarchiemémoire,OS
21
Microprocesseurstandard
Microprocesseurstandard
Microprocesseurstandard
Réseauhautesperformances
Introduction au parallélisme
Modèlesdeprogramma)on:Djikstra/Flynn
Parallélismedecontrôle
ComposiIonparallèledeprocessusséquenIels
PAR(SEQ)–MIMD
Parallélismededonnées
ComposiIonséquenIelledeprocessusparallèles
SEQ(PAR)‐SIMD
22 Introduction au parallélisme
parfori=1,n
a(i)=b(i)+c(i)
x(i)=y(i)+z(i) enddo
foralli=1,n
a(i)=b(i)+c(i)
foralli=1,n x(i)=y(i)+z(i)
Etbeaucoupd’autresmodèles
Organisa)onetaccèsmémoire
• SituaIondelamémoire/descachesparrapportauxprocesseurs:CentraliséeouDistribuée
• OrganisaIondel’espaced’adressage:UniqueouPlusieurs
• Hiérarchiedestempsd’accèsmémoire:Uniformeounonuniforme
Introduction au parallélisme 23
Caches
Mémoire Principale
Bus
Mémoire Centrale
Processeur
LOAD STORE
Organisa)onmémoire
24
Mémoire centralisée
Mémoire distribuée
Espace dʼadressage unique
Plusieurs espaces dʼadressage
Accès mémoire uniforme
Accès mémoire non uniforme
La partie de l'image avec l'ID de relation rId2 n'a pas été trouvée dans le fichier.
Mémoire
PE PE Réseau
PE
PE PE Réseau
PE La partie de l'image avec l'ID de
La partie de l'image avec l'ID
La partie de l'image avec l'ID de
Mém
oire
Mém
oire
Mém
oire
PE PE PE
La partie de l'image avec l'ID de relation rId6 n'a pas été trouvée dans le fichier.
Mémoire
@0
@Max
PE PE PE
La partie de l'image avec l'ID de @0
@Max La partie de l'image avec l'ID @0
@Max La partie de l'image avec l'ID @0
@Max
PE PE
La partie de l'image avec l'ID de relation rId10 n'a pas été trouvée dans le fichier.
12 3
6 9
12 3
6 9
PE PE
La partie de l'image avec l'ID de relation rId11 n'a pas été trouvée dans le fichier.
12 3
6 9
12 3
6 9
Mémoire
Mémoire Mémoire Mémoire Mémoire O
ppos
é
Com
plex
ité
+
- Introduction au parallélisme
Modèlesdeprogramma)on/exécu)on
• Espacesd’adressagemulIples– p processus– Communiquentparmessagerie– Leprogrammeuroulecompilateuroul’exécuIfdoitdéfinirleplacementdesdonnéesetl’ordonnancementdescalculs
– Leplacementdesdonnéespeutdéfinirceluidescalculs:ex.OCR
• Espaced’adressageunique– pthreads– Communiquentàtraversdesvariablespartagées– Leprogrammeuroulecompilateuroul’exécuIfdoitdéfinirleplacementetl’ordonnancementdescalculs
25 Introduction au parallélisme
Architecturesactuelles
26
… proc
cache
Réseau d’adressage
Mémoire Nœud SMP
… proc
cache
Réseau d’adressage
Mémoire Nœud SMP
… proc
cache
Réseau d’adressage
Mémoire Nœud SMP
Réseau de messagerie
Introduction au parallélisme
Acc Acc Acc Acc Acc Acc
Terminologie
• MPP:MassivelyParallelMulIprocessor
• Clusters• Laprincipaledifférenceestdansledegréréseau(ausenslarge)nonpropriétairepourlesclusters
27 Introduction au parallélisme
Blue Gene/P
4 cores 13.6 GF
Chip
Compute Card
1 node 4 cores 13.6 GF
2GB DDR2
Node Card
32 nodes 128 cores 435 GF
64GB DDR2
Rack
32 node-cards 1024 nodes 4096 cores
13.9 TF 2 TB DDR2
System
72 Racks 73728 nodes 294912 cores
1 PF 144 TB DDR2
BPC chip DD2.1 die
photograph
13mmx13mm 90 nm process
208M transistors 88M in eDRAM
10 Gb/s
256 256
32k I1/32k D1
PPC450 Double FPU
10 Gbit JTAG Collective Torus Global Barrier
DDR2
Controller
w/ ECC
32k I1/32k D1
PPC450 Double FPU
4MB
eDRAM
L3 Cache
or
On-Chip
Memory
512b data
72b ECC
6 3.4Gb/s bidirectional
4 global barriers or interrupts
128
32k I1/32k D1
PPC450 Double FPU
32k I1/32k D1
PPC450 Double FPU L2
Snoop filter
4MB
eDRAM
L3 Cache
or
On-Chip
Memory
512b data
72b ECC
128 L2
Snoop filter
128 L2
Snoop filter
128 L2
Snoop filter
DMA
Multiplexing sw
itch 3 6.8Gb/s
bidirectional
DDR2
Controller
w/ ECC
13.6 GB/s
DDR-2 DRAM bus
64 Shared
SRAM
PMU
Shared L3 Directory for
eDRAM
w/ECC
Shared L3 Directory for
eDRAM
w/ECC
Arb
JTAG
Multiplexing sw
itch
Blue Gene/P ASIC
Blue Gene/P Interconnection Networks
3 Dimensional Torus – Interconnects all compute nodes – Virtual cut-through hardware routing – 3.4 Gb/s on all 12 node links (5.1 GB/s per node) – 0.5 µs latency between nearest neighbors, 5 µs to
the farthest – MPI: 3 µs latency for one hop, 10 µs to the farthest – Communications backbone for point-to-point
Collective Network – One-to-all broadcast functionality – Reduction operations for integers and doubles – 6.8 Gb/s of bandwidth per link per direction – Latency of one way tree traversal 1.3 µs, MPI 5 µs – Interconnects all compute nodes and I/O nodes
Low Latency Global Barrier and Interrupt – Latency of one way to reach 72K nodes 0.65 µs,
MPI 1.6 µs
Combien d’opérations flottantes par seconde ?
Blue Gene/P Architectural Highlights Scaled performance relative to BG/L through density and frequency
– 1.2x from frequency bump 700 MHz => 850 MHz – 2x performance through doubling the processors/node
Enhanced function – 4 way SMP, cache coherent, supports threads, OpenMP – Improved memory subsystem supporting higher bandwidths – DMA for torus, remote put-get, user programmable memory prefetch – Memory chip kill implemented. – Enhanced performance counters (including 450 core) – Architectures of double Hummer FPU, torus, collective network, barrier,
and JTAG networks were left intact. Higher signaling rate
– 2.4x higher bandwidth, lower latency for Torus and Tree networks – 10x higher bandwidth for Ethernet IO
Execution Modes in BG/P
Hardware Elements Black Software Abstractions Blue
node
core
SMP Mode 1 Process
1-4 Threads/Process
Dual Mode 2 Processes
1-2 Threads/Process
Quad Mode (VNM) 4 Processes
1 Thread/Process
Core 0
Core 1
Core 3
Core 2
Core 0
Core 1
Core 3
Core 2
Core 0
Core 1
Core 3
Core 2
Core 0
Core 1
Core 3
Core 2
RoadRunner
Introduction au parallélisme 34
Accéléra)on
Introduction au parallélisme 35
€
Acceleration =Performance(native)
Performance(améliorée)
Accéléra)onetefficacitéparallèles
T(p):tempsd’exécuIonàpprocesseurs
Introduction au parallélisme 36
€
S(p) =T(1)T(p)
• S(p) = p ApplicaIonparfaitementparallélisable
Parallélismetrivial
• S(p) = kpk < 1engénéral,maisk > 1estpossible
€
E(p) =S(p)p
Laloid’Amdhal
L’applicaIoncomporte– UnefracIonséquenIellef:contrôle,calculsscalairesrépliqués,…
– UnefracIonparfaitementparallélisable1-f
37 Introduction au parallélisme
InuIled’ajouterdesprocesseursaudelà€
T(p) = f +1− fp
€
T(1) = f + (1− f ) =1
€
S(p) <1f
Laloid’Amdhal
38 Introduction au parallélisme
InuIled’ajouterdesprocesseursaudelà
€
S(p) <1f
p
S(p)
1/f
Op)miserpourd’autrescritères
• L’hypothèseimpliciteestqueleproblèmeestdetaillefixe
• Lesproblèmesdetaillefixeexistent:traitementd’images
• «Améliorerletraitementdesproblèmesordinaires»• Maisd’autrescontraintespeuventêtreplusperInentesparrapportàlademandedel’uIlisateur:résoudreunproblème,effectuerunesimulaIonetc.– Entempsconstant– Enencombrementmémoireconstant
39 Introduction au parallélisme
LaloideGustafson
L’applicaIoncomporte– UneparIeséquenIellea:contrôle,calculsscalairesrépliqués,…
– UneparIeparfaitementparallélisableb
– L’applicaIonestextensible
40 Introduction au parallélisme €
T(p) = a +bp
=1
€
T(1) = a + b
€
S(p) = a + (1− a)p
AccéléraIonaffine
Autresfacteurspénalisantspourl’accéléra)on
• Leparallélismeintroduitdessurcoûts– CommunicaIons(EAM)ou
synchronisaIons(EAU)• Matériel
– LecoûtdescommunicaIonsoudessynchronisaIonsaugmenteavecp
• Algorithme– Déséquilibredecharge– AugmentaIondunombrede
communicaIonsoudesynchronisaIonsparunitédetravail
Introduction au parallélisme 41
Autresfacteurspénalisantspourl’accéléra)on
• Leparallélismeintroduitdessurcoûts– CommunicaIons(EAM)ou
synchronisaIons(EAU)• Matériel
– LecoûtdescommunicaIonsoudessynchronisaIonsaugmenteavecp
• Algorithme– Déséquilibredecharge– AugmentaIondunombrede
communicaIonsoudesynchronisaIonsparunitédetravail
LaparallélisaIontrivialeestpresquetoujourslameilleuresoluIonlorsqu’elleestpossibleExcepIon:Changementsde
niveaudanslahiérarchiemémoire.Out‐of‐Core‐>MP,ouMP‐>cache
Introduction au parallélisme 42
Critèreséconomiques
• Iso‐efficacité:Taillenécessairepouraveindreuneefficacitédonnée– Peutonaveindreunecertaineefficacitésurunsystèmedonné?
– Decombienfaut‐ilaugmenterlatailleduproblème?– Existe‐t‐ilunetaillemaximaledusystèmetellequ’onnepuisseplusaveindrel’efficacitérequise?
– ComparaisondesapplicaIons:lameilleuriso‐efficacitéestlapluspeIte
• Exemplecanonique:N1/2
43 Introduction au parallélisme
Débit
Introduction au parallélisme 44 €
R(n, p) =Nombre_Operations(n)
T(n, p)
R∞(p) = Limn→∞R(n, p)
R(n1/ 2, p) =R∞(p)2 p
R(n)
R∞
R∞/2
N1/2
top related