7
1 2011.05.04. Párhuzamos és Grid rendszerek © BME-IIT Sz.I. -1- Párhuzamos és Grid rendszerek (12. ea) Összefoglalás -1- Szeberényi Imre BME IIT <[email protected]> M Ű E G Y ET E M 1 7 8 2 2011.05.04. Párhuzamos és Grid rendszerek © BME-IIT Sz.I. -2- Összefogalás Párhuzamos architektúrák Párhuzamos programok modellezése Párh. prog. fejlesztési módszerek – kevés algoritmus Fejlesztési környezetek, nyelvek – PVM, MPI – OpenMp – Clearspeed – CUDA 2011.05.04. Párhuzamos és Grid rendszerek © BME-IIT Sz.I. -3- Flynn-féle architektúra modell DATA INSTRUCTIONS Single Multiple Single Multiple Single Instruction Single Data SISD (serial machines) Single Instruction Multiple Data SIMD (vector processors) Multiple Instruction Single Data MISD (pipelines) Multiple Instruction Multiple Data MIMD (multiprocesszors) 2011.05.04. Párhuzamos és Grid rendszerek © BME-IIT Sz.I. -4- Idealizált párhuzamos számítógép memória CPU 1 memória CPU 2 memória CPU 3 Összeköttetés Több processzor egyazon problémán dolgozik. Minden processzornak saját memóriája és címtartománya van. Üzenetekkel koordinálnak és adatokat is tudnak átadni. A lokális memória elérése gyorsabb. Az átviteli sebesség független a csatorna forgalmától. 2011.05.04. Párhuzamos és Grid rendszerek © BME-IIT Sz.I. -5- Architektúrák jellemzői Processzorok eloszlása Homogén vagy heterogén A kapcsolat késleltetése és sávszélessége Topológia Hálók Gyűrűk Fák Hiperkockák Teljesen összekötött 2011.05.04. Párhuzamos és Grid rendszerek © BME-IIT Sz.I. -6- Programozási modell Közös memóriás Elosztott közös memóriás Üzenet küldéses Valójában egyik modell sem kötődik szorosan a tényleges architektúrához

Idealizált párhuzamos számítógép - wow.iit.bme.huwow.iit.bme.hu/~szebi/slides/parh12_grid_msc_6.pdf · 1 Párhuzamos és Grid rendszerek © BME-IIT Sz.I. 2011.05.04. - 1 - Párhuzamos

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Idealizált párhuzamos számítógép - wow.iit.bme.huwow.iit.bme.hu/~szebi/slides/parh12_grid_msc_6.pdf · 1 Párhuzamos és Grid rendszerek © BME-IIT Sz.I. 2011.05.04. - 1 - Párhuzamos

1

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 1 -

Párhuzamos és Grid rendszerek(12. ea)

Összefoglalás

- 1 -

Szeberényi Imre BME IIT

<[email protected]>

M Ű E G Y ET E M 1 7 8 2

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 2 -

Összefogalás

• Párhuzamos architektúrák

• Párhuzamos programok modellezése

• Párh. prog. fejlesztési módszerek– kevés algoritmus

• Fejlesztési környezetek, nyelvek– PVM, MPI

– OpenMp

– Clearspeed

– CUDA

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 3 -

Flynn-féle architektúra modell

DATA

INSTRUCTIONS

Single Multiple

Single

Multiple

Single Instruction Single Data

SISD(serial machines)

Single Instruction Multiple Data

SIMD(vector processors)

Multiple Instruction Single Data

MISD(pipelines)

Multiple Instruction Multiple Data

MIMD(multiprocesszors)

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 4 -

Idealizált párhuzamos számítógép

memória

CPU 1

memória

CPU 2

memória

CPU 3

Összeköttetés

l Több processzor egyazon problémán dolgozik.

l Minden processzornak saját memóriája és címtartománya van.

l Üzenetekkel koordinálnak és adatokat is tudnak átadni.

l A lokális memória elérése gyorsabb.

l Az átviteli sebesség független a csatorna forgalmától.

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 5 -

Architektúrák jellemzőil Processzorok eloszlása

l Homogén vagy heterogén

l A kapcsolat késleltetése és sávszélessége

l Topológia

Hálók

� � �

��

� � ��

� � ��

� �

� �

��� � �

�� � �

�� � �

�� � �

�� � �

Gyűrűk

� �

� �

Fák

� �

� �

Hiperkockák

Teljesen összekötött� �

� �

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 6 -

Programozási modell

• Közös memóriás

• Elosztott közös memóriás

• Üzenet küldéses

Valójában egyik modell sem kötődik szorosan a tényleges architektúrához

Page 2: Idealizált párhuzamos számítógép - wow.iit.bme.huwow.iit.bme.hu/~szebi/slides/parh12_grid_msc_6.pdf · 1 Párhuzamos és Grid rendszerek © BME-IIT Sz.I. 2011.05.04. - 1 - Párhuzamos

2

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 7 -

Taszk/csatorna modell /1

• minden taszk szekvenciális programot futtat

• minden taszknak van saját memóriája

• taszkok csatornákkal kapcsolódnak

• a csatornák üzenetsorokat valósítanak meg

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 8 -

Taszk/csatorna modell /2

• taszkok konkurensek

• van lokális memóriájuk

• küldés aszinkron

• fogadás szinkron

• csatornához in/out portokkal csatlakoznak

• taszkok tetszőlegesenrendelhetők össze a processzorokkal

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 9 -

Taszk/csatorna modell /3

• Példa: termelő-fogyasztó probléma– taszk1: termelő

– taszk2: fogyasztó

T1 T2

Raktár

• ha a fogyasztó lassabb, akkor a felhalmozódik a termelt termék

• ha a termelő a lassabb, a akkor vár a fogy.

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 10 -

Taszk/csatorna modell /4

• Példa: termelő-fogyasztó probléma– taszk1: termelő

– taszk2: fogyasztó

T1 T2

• második csatornán a fogyasztó jelzi, ha kér újabb terméket

• a termelő ennek hatására termel

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 11 -

Taszk/csat. modell jellemzői

• A modell közvetlenül hozzárendelhető az idealizált számítógéphez.

• A taszk egy soros kódot reprezentál.

• A csatorna processzorok közötti kommunikációt valósít meg.

• A taszk működése független a taszk-processzor összerendeléstől, taszkok számától.

• Moduláris felépítést tesz lehetővé.

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 12 -

Taszk/csatorna vs. üzenet

• Az üzenet egy adott taszknak szól, ezért kevésbé absztrakt, mint a csatorna.

• Az általános üzenetküldéses modell szerint nem lehet dinamikusan új taszkot létrehozni. (Több megvalósításban lehet.)

• Egy processzor csak egy taszkot futtathat. (Több megvalósításban ez sem korlát.)

Page 3: Idealizált párhuzamos számítógép - wow.iit.bme.huwow.iit.bme.hu/~szebi/slides/parh12_grid_msc_6.pdf · 1 Párhuzamos és Grid rendszerek © BME-IIT Sz.I. 2011.05.04. - 1 - Párhuzamos

3

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 13 -

Párh. algoritmus példák /1

• Véges differenciák:– egy vektor minden elemére T-szer végre kell

hajtani a következő műveletet:

– Minden elemet egy-egy taszk számol, aki kommunikál a szomszédaival:

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 14 -

Párh. algoritmus példák /2

• Páronkénti iteráció (pl. atomok kölcsönös egymásra hatása)

– N*(N-1) üzenet kell, esetleg N*(N-1)/2, ha kihasználjuk a szimmetriát.

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 15 -

Párh. algoritmus példák /3• Körkörös kapcsolat (csatorna) a fenti

problémára hatékonyabb üzenetstruktúrát eredményez:– Egy N elemű vektorba minden

taszk beteszi a saját adatát (koord.,tömeg) és elküldi a szomszédnak.

– A bejövő üzenetbe megfelelő helyre ismét elhelyezi a saját adatát és továbbküldi azt.

– N-1 lépés után mindenki ismeri az a többiek koordinátáit és tömegét.

– F értéke minden lépésben az új partnerek adata alapján akkumulálható.

3

0

21

L0 L3L0 L0

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 16 -

Párh. algoritmus példák /4

• N újabb csatornával az algoritmus a szimmetria miatt tovább egyszerűsíthető: – hozzunk létre minden i. taszk és i+N/2-dik

taszk között egy újabb csatornát.– az adott atomra ható erőket folyamatosan

számoljuk, és küldjük is körbe.– N/2 iterációval előáll az eredmény.

3

0

2

14L0

F0

L1

F1

L2

F2

L3

F3

L4

F4

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 17 -

Párh. algoritmus példák /5

• Párhuzamos keresés:– fában történő keresés

egyszerűen párhuzamosítható

• Paraméter elemzés:– master-worker algoritmus

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 18 -

PCAM módszertan

1. Particionálás: Részfeladatokra osztás. NEM veszi figyelembe a fizikai gép adottságait.

2. Kommunikáció megtervezése: Részfeladatok közötti adatcsere és szinkronizációs séma kialakítása.

3. Agglomeráció: Részfeladatok nagyobb egységekbe gyűjtése a hatékonyságnövelés érdekében.

4. Leképezés: A részfeladatok processzorhoz (feldolgozó elemhez) rendelése.

Page 4: Idealizált párhuzamos számítógép - wow.iit.bme.huwow.iit.bme.hu/~szebi/slides/parh12_grid_msc_6.pdf · 1 Párhuzamos és Grid rendszerek © BME-IIT Sz.I. 2011.05.04. - 1 - Párhuzamos

4

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 19 -

Domén dekompozíció

• Adat vagy paramétertér felosztása. Az adat lehet input, output, vagy közbülső adat.– Példa: Egy 3D rácson minden rácspontban ki

kell számolni egy értéket. 1, 2, vagy 3 dimenziós partíció:

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 20 -

Funkcionális dekompozíció

• Az algoritmus felosztása olyan részekre, melyek párhuzamosíthatók.

• Alapvetően a feladat funkcióiból adódik.

• Az adatokra is figyelni kell.

• Tipikus példa, amikor az adatok partícionálása nem járható: keresés fában. – funkcionálisan viszont bontható

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 21 -

Kommunikáció

• Kis környezetű (local) és globális– a taszkok csak kis környezetükben (szomszéd),

vagy sok másik taszkkal is kommunikálnak.

• Strukturált és nem strukturált– rács, gyűrű, ... vagy más

• Statikus és dinamikus– végrehajtás közben változik

• Szinkron vagy aszinkron– koordináció hiánya

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 22 -

Kommunikációs példák /1

Lokális kommunkáció (véges elem):

Red-Black ordering:

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 23 -

Kommunikációs példák /2

Globális kommunkáció (szumma):

Csővezeték:

Oszd meg és uralkodj:

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 24 -

Agglomeráció

• A tényleges párhuzamos gép kommuniká-ciós adottságait is figyelembe véve a részfeladatokat nagyobb egységekbe gyűjtjük.

Page 5: Idealizált párhuzamos számítógép - wow.iit.bme.huwow.iit.bme.hu/~szebi/slides/parh12_grid_msc_6.pdf · 1 Párhuzamos és Grid rendszerek © BME-IIT Sz.I. 2011.05.04. - 1 - Párhuzamos

5

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 25 -

Cluster koncepció

• Gyors hálózattal összekapcsolt gépek

• Gyakran közös fájlrendszer

• CPU vagy tárolási kapacitás növelése

• Paraméter study, vagy párhuzamos alkalmazások

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 26 -

Ütemezők

• Condor (University of Wisconsin)

• DQS (Florida State University)

• LoadLeveler (IBM)

• Maui, Moab (Cluster Resources)

• LSF (Platform)

• PBS, OpenPBS (Alatair)

• Sun Grid Engne (SUN)

• Torque (Cluster Resources)

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 27 -

Elosztott fájlrendszerek

• Nagyméretű klaszterekhez

• Földrajzilag is elosztott rendszerekhez

– NFS

– AFS, CODA

– Lustre, SFS

– GFS

– GlusterFS

– OCFS

Több mint 70! fs

– Gfarm file system

– Google file system

– GPFS

– BigTable

– Parallel Virtual File System

– QFS

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 28 -

Grid koncepció

• Számítógépek erőforrásainak egy adott cél érdekében összefogott halmaza, melyet a felhasználó egységesen, egy egészként kezelve tud elérni a Grid bármely pontjáról.

• A Grid szóhasználat szándékosan utal az elektromos hálózatra (power grid).

• A kezdeti intézményi gridek regionális, nemzeti, ill. világméretű gridekké nőnek, melyek erőforrásait dinamikusan és gazdaságosan lehet elosztani.

• Adat, számítási és információs gridek.

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 29 -

Grid hasonlat

Vizualizáció

Munkaállomás

Mobil

Supercomputer, PC-Cluster

Spec. erőforr.: Érzékelők, adatgyűjtők

GRID

MIDDLEWARE

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 30 -

Utility Grid modell

Internet

Erőforrás biztosításstatikus 7/24

Dinamikus erőforrás igények

Intézet 1

Felhasználó 1

Intézet 2

Felhasználó N

Donor és felhasználó

Donor és felhasználó

Page 6: Idealizált párhuzamos számítógép - wow.iit.bme.huwow.iit.bme.hu/~szebi/slides/parh12_grid_msc_6.pdf · 1 Párhuzamos és Grid rendszerek © BME-IIT Sz.I. 2011.05.04. - 1 - Párhuzamos

6

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 31 -

A Utility Gridek jellemzői

• A donorok profi erőforrás biztosítók (7/24 órás üzemmód) � Egyszerűsítés

• Hasonló erőforrások� Egyszerűsítés

• Mindenki használhatja az erőforrásokat saját problémáinak megoldására

• Aszimmetrikus kapcsolat a donorok és felhasználók között

U >> D

LHC

Large Hadron Collider Produces ~15 PByte/year

2011.05.04. - 32 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

LHCData is stored at CERN and 11 other (tier1) sites

Data is processed at CERN, the 11 tier1 sites and ~100 tier2 sites

2011.05.04. - 33 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I. 2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 34 -

Desktop Grid modell

Internet

Dinamikus erőforrás biztosítás

Software disztribúció

Vállalati /

Egyetemi

Szerver

Donor: Vállalat /

Egyetem / privát PC

Alkalmazás

Donor: Vállalat /

Egyetem / privát PC

Donor: Vállalat /

Egyetem / privát PC

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 35 -

Cloud újabb buzzword?

• Metacomputing

• Utility computing

• Grid computing

• SaaS – Softare as a Service

• HaaS – Hardware as a Service

• PaaS – Platform as a Service

• IaaS – Infrastructure as a Service

• Web 2.0

2011.05.04.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 36 -

Cloud computing def.

• Még nagy a bizonytalanság, többen mást gondolnak róla.

• A hálózati felhőből on-line igénybe venni – számítási, tárolási kapacitást

– alkalmazást

– egyéb erőforrást

• Lényegében Web 2.0 kiterjesztve ?

Page 7: Idealizált párhuzamos számítógép - wow.iit.bme.huwow.iit.bme.hu/~szebi/slides/parh12_grid_msc_6.pdf · 1 Párhuzamos és Grid rendszerek © BME-IIT Sz.I. 2011.05.04. - 1 - Párhuzamos

7

A Dasein Cloud API

• Java nyelvű, open source (Apache v2.0), aktívan fejlesztett programkönyvtár.

• Számos IaaS szolgáltatót (AWS, Terremark, Rejila), privát felhőt (vCloud, vSphere, CloudStack), storage rendszert (Rackspace, Mezeo, a Google App Engine vagy az MS Azure BlobStore szolgáltatása) kezel.

• Implementációja épít a platform-specifikus megoldásokra (vSphere VIM), és a jclouds open source API-ra.

• http://dasein-cloud.sourceforge.net/

2011.05.04. - 37 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

PRAM modell

• Parallel Random Access Machine (PRAM)• Elméleti modell a az algoritmusok

vizsgálatáhozCélja:• Algoritmusok osztályozása,

komplexitásának vizsgálata.• Párhuzamosíthatóság elvi határainak

felfedése. • Új algoritmusok kifejlesztése.

2011.05.04. - 38 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

• Parallelize the following code using threads:for (i=0; i<n; i++) {

sum = sum+sqrt(sin(data[i]));}

• A lot of work to do a simple thing• Different threading APIs:

– Windows: CreateThread– UNIX: pthread_create

• Problems with the code:– Need mutex to protect the accesses to sum– Different code for serial and parallel version– No built-in tuning (# of processors someone?)

OpenMP motivation

2011.05.04. - 39 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

OpenMP execution model

Fork and Join: Master thread spawns a team of threads as needed

Master threadMaster thread

WorkerThread

FO

RK

JOIN

FO

RK

JOIN

2011.05.04. - 40 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

Általános célú GPU

• A programozható vertex és fragment shaderek beépítésével általános célú eszközzé vált.

• Vektorprocesszor (SIMD), de pipeline egységek is vannak benne (MISD).

• Jellemzően SIMD

• Programozás: CUDA, OpenCl, Cg, …

2011.05.04. - 41 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I. Grir és OO labor © BME-IIT Sz.I. - 42 -

Egy példa

NVIDIA Quadro FX5800 grafikus kártya– PCIe x16– 240 CUDA mag– 4 GB DDR3– 78 GFlos double – 933 Gflops single– 189 W– 300Millió háromszög / sec– NVIDIA CUDA

2010.11.09. - 42 -Grir és OO labor © BME-IIT Sz.I. 2011.05.04. - 42 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.