introducon au parallélisme - lricecile/enseignement/ipar/cours/cours... · 2010. 1. 7. · • 12...

Post on 13-Jun-2021

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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