párhuzamos és grid rendszerek (14. ea) · 2013. 5. 10. · • n újabb csatornával az...

67
Párhuzamos és Grid rendszerek (14. ea) (14. ea) Összefoglalás Szeberényi Imre BME IIT 2013.05.06. Párhuzamos és Grid rendszerek © BME-IIT Sz.I. -1- -1- <[email protected]> M Ű E G Y ET E M 1 7 8 2

Upload: others

Post on 08-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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

Összefoglalás

Szeberényi Imre BME IIT

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

<[email protected]>

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

Page 2: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Összefogalás

• Párhuzamos architektúrák

• Párhuzamos programok modellezése• Párhuzamos programok modellezése

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

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

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

– PVM, MPI

– OpenMp

– Clearspeed

– CUDA

Page 3: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Jellemző szupersz.gép típusok

• Vektorprocesszoros rendszerek– Gyors műveletvégzés vektor jellegű adatokon– Gyors műveletvégzés vektor jellegű adatokon

• Masszívan párhuzamos rendszerek (MPP)– Üzenetküldéses elosztott memóriás (MDM)– Szimmetrikus multiprocesszoros (SMP)– Elosztott közös memória (DSM)

• Elosztott számítási rendszerek

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

• Elosztott számítási rendszerek– Homogén rendszerek– Heterogén rendszerek

• Metaszámítógépek és Grid redszerek

Page 4: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Párhuzamos gépek osztályai• Szimmetrikus multiprocesszoros (SMP)

– sok azonos processzor közös memóriával– egy operációs rendszerrel– egy operációs rendszerrel– NUMA, ccNUMA

• Masszívan párhuzamos (MPP)– sok processzor gyors belső hálózattal– elosztott memória – sok példányban fut az operációs rendszer

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

• Klaszter– sok gép gyors hálózattal összekötve– elosztott memória– sok példányban esetleg heterogén operációs rendszer

Page 5: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Flynn-féle architektúra modell

DATASingle Multiple

INSTRUCTIONS

Single Multiple

Single

Single Instruction Single Data

SISD(serial machines)

Single Instruction Multiple Data

SIMD(vector processors)

Multiple Instruction Single D

Multiple Instruction M D

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

MultipleSingle Data

MISD(pipelines)

Multiple Data

MIMD(multiprocesszors)

Page 6: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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

memória memória memória

CPU 1 CPU 2 CPU 3

Összeköttetés

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

l Minden processzornak saját memóriája és

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

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.

Page 7: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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

l Homogén vagy heterogén

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

l Topológia

Hálók

� � �

� ��

� �

� �

��� � �

�� � �

�� � �

Gyűrűk

� �

Fák

� �

Hiperkockák

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

��

� � ��

� � ��

��� � �

�� � �

�� � �

� � � �

� �

Teljesen összekötött� �

� �

Page 8: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Programozási modell

• Közös memóriás• 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

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

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

Page 9: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Taszk/csatorna modell /1

• minden taszk szekvenciális programot futtat

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

• taszkok csatornákkal kapcsolódnak

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

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

Page 10: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Taszk/csatorna modell /2

• taszkok konkurensek

• van lokális memóriájuk • van lokális memóriájuk

• küldés aszinkron

• fogadás szinkron

• csatornához in/out portokkal csatlakoznak

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

portokkal csatlakoznak

• taszkok tetszőlegesenrendelhetők össze a processzorokkal

Page 11: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Taszk/csatorna modell /3

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

– taszk2: fogyasztó

T1 T2

Raktár

• ha a fogyasztó lassabb, akkor a

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

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

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

Page 12: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Taszk/csatorna modell /4

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

– taszk2: fogyasztó

T1 T2

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

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

• a termelő ennek hatására termel

Page 13: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Taszk/csat. modell jellemzői

• A modell közvetlenül hozzárendelhető az idealizált számítógéphez.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-

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

• 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é.

Page 14: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Taszk/csatorna vs. üzenet

• Az üzenet egy adott taszknak szól, ezért kevésbé absztrakt, mint a csatorna.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.)

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

(Több megvalósításban ez sem korlát.)

Page 15: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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

• Véges differenciák:– egy vektor minden elemére T-szer végre kell – 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:

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

Page 16: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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

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

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

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

Page 17: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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: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.

3

0

21

L0 L3L0L0

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

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ó.

Page 18: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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 – 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.

0

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

3 2

14L0

F0

L1

F1

L2

F2

L3

F3

L4

F4

Page 19: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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

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

egyszerűen párhuzamosítható

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

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

– master-worker algoritmus

Page 20: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

PCAM módszertan

1. Particionálás: Részfeladatokra osztás. NEM veszi figyelembe a fizikai gép adottságait. 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

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

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 21: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Domén dekompozíció

• Adat vagy paramétertér felosztása. Az adat lehet input, output, vagy közbülső 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ó:

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

Page 22: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Funkcionális dekompozíció

• Az algoritmus felosztása olyan részekre, melyek párhuzamosíthatók.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.

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

partícionálása nem járható: keresés fában. – funkcionálisan viszont bontható

Page 23: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Kommunikáció

• Kis környezetű (local) és globális– a taszkok csak kis környezetükben (szomszéd), – 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

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

– végrehajtás közben változik

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

Page 24: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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

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

Red-Black ordering:

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

Page 25: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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

Globális kommunkáció (szumma):

Csővezeték:

Oszd meg és

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

Oszd meg és uralkodj:

Page 26: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Agglomeráció

• A tényleges párhuzamos gép párhuzamos gép kommuniká-ciós adottságait is figyelembe véve a részfeladatokat nagyobb

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

nagyobb egységekbe gyűjtjük.

Page 27: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Cluster koncepció

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

• Gyakran közös fájlrendszer• Gyakran közös fájlrendszer

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

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

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

Page 28: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Ütemezők

• Condor (University of Wisconsin)

• DQS (Florida State University)• DQS (Florida State University)

• LoadLeveler (IBM)

• Maui, Moab (Cluster Resources)

• LSF (Platform)

• PBS, OpenPBS (Alatair)

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

• PBS, OpenPBS (Alatair)

• Sun Grid Engne (SUN)

• Torque (Cluster Resources)

Page 29: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Elosztott fájlrendszerek

• Nagyméretű klaszterekhez

• Földrajzilag is elosztott rendszerekhez• Földrajzilag is elosztott rendszerekhez

– NFS

– AFS, CODA

– Lustre, SFS

– GFS

– GlusterFS

– Gfarm file system

– Google file system

– GPFS

– BigTable

– Parallel Virtual File

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

– GlusterFS

– OCFS

Több mint 70! fs

– Parallel Virtual File System

– QFS

Page 30: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

AFS (Andrew File System)

• Elosztott fájlrendszer, ami fájlok megosztására alkalmas lokális és távolsági hálózaton. hálózaton.

• Transzparens fájlhozzáférést biztosít.• Az NFS-hez hasonló, annak alternatívájaként

jött létre.• Ma az OpenAFS számos UNIX, LINUX, WinX

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

• Ma az OpenAFS számos UNIX, LINUX, WinX platformon elérhető.

Page 31: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

AFS alapfogalmai

• Cellák• Kötetek• Kötetek• Tokenek• Cache menedzser • Fájl védelem• Fájl névtér

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

• Fájl névtér

Page 32: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Lustre architektúra

• Három fő funkcionális egysége van:

• Metadata szerver (MDS), ami a fájl • Metadata szerver (MDS), ami a fájl neveket, katalógusokat, védelmi kódokat és egyéb metaadatot tárol.

• Object storage szerverek (OSS), melyek az adatokat tárolják.

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

• Kliens ami az adatokat felhasználja, létrehozza.

Page 33: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Lustre architektúra /2

• Az adatok logikai kötetmenedzsmenttel ellátott RAID tárolókban tárolódnak, amit ellátott RAID tárolókban tárolódnak, amit az OSS és az MDS dedikált módon használ.

• Jelenleg egy módosított ext4 fájlrendszer a logikai tároló. ZFS support (béta)

• Amikor egy kliens fájlt akar elérni, először az MDS-ben meg kell keresnie.

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

az MDS-ben meg kell keresnie.

Page 34: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Lustre architektúra /2

• A fájl egyes darabjai több OSS-en tárolódhatnak, ami a kliens és az OSS tárolódhatnak, ami a kliens és az OSS között szűk keresztmetszet kialakulását gátolja.

• A kliensek nem módosítják közvetlenül az OSS-ben tárolt adatokat, hanem ezt a OSS-re bízzák, szemben a GFS megoldásával.

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

re bízzák, szemben a GFS megoldásával.

• Ez a módszer növeli a megbízhatóságot és a hibatűrést.

Page 35: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Skálázhatóság teljesítmény

• TOP 500-as lista tetején (Titan is)

• Skálázhatóság, nagy rendelkezésre állás• Skálázhatóság, nagy rendelkezésre állás

• Üzleti szupport (Oaracle-n kívül mindenki)

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

S. Saini, J. Rappleye, J. Chang, D.Barker, P. Mehrotra, R. Biswas:I/O Performance Characterizationof Lustre and NASAApplications on Pleiades

Page 36: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

OpenMP motiváció

• Szálakkal történő párhuzamosítás macerás:• OS függő API-k:• OS függő API-k:

– Windows: CreateThread– UNIX: pthread_create

• Még egy vektor elemeinek összeadásához is sok ismeret kell:– Kölcsönös kizárás (mutex)

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

– Kölcsönös kizárás (mutex)– Külön soros és párhuzamos kód keletkezik– Nehéz a skálázhatóság megoldása

Page 37: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

OpenMP

• Nyelvi kiterjesztés• A programozó a funkcionalitásra koncentrálhat.• A párhuzamosítás csak lehetőség.• Shared memóriás párhuzamosítás• Ipari szabvány• 1997: 1.0• 2011: 3.1

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

• 2011: 3.1• 2013: 4.0 – jelenleg drafthttp://openmp.org/mp-documents/OpenMP3.1-CCard.pdf

Page 38: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Végrehajtási modell

FO

RK

JOIN

FO

RK

JOINMaster thread

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

Page 39: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Shared memoria modell

• A szálak változókon keresztül kommunikálnak.kommunikálnak.

• A megosztás nyelvi szinten definiált• Versenyhelyzet kialakulhat

– Szinkronizációs eszközök– Megosztás minimalizálása

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

Page 40: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Szintaxis

• #pragma omp construct [clause [clause] …]• Egy blokkra vonatkozik (egy belépés, egy • Egy blokkra vonatkozik (egy belépés, egy

kilépés)• OpenMP konstrukciók:

– Parallel régiók megadása– Munka elosztás (work sharing)– Adatelérés szabályozása

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

– Adatelérés szabályozása – Szinkronizáció– Runtime függvények

Page 41: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Általános célú GPU

• A programozható vertex és fragment shaderek beépítésével általános célú 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, …

2013.05.06. - 41 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

Page 42: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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

Grir és OO labor © BME-IIT Sz.I. - 42 -

– 189 W– 300Millió háromszög / sec– NVIDIA CUDA

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

Page 43: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

PRAM modell

• Parallel Random Access Machine (PRAM)• Elméleti modell a az algoritmusok • 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 • Párhuzamosíthatóság elvi határainak

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

2013.04.08. - 43 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

Page 44: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

PRAM modell /2

• Végtelen memória és processzorszám

• Nincs direkt kommunikáció a P1• Nincs direkt kommunikáció a processzorok között:– csak a memóriában

kommunikálhatnak– aszinkron működésűek

• A processzorok tetszőlegesen hozzáférnek a memóriához.

Shared

Memory

P3

P1

P2

.

.

.hozzáférnek a memóriához.• Hozzáférés 1 ciklus• Tipikusan minden processzor

ugyanazt az algoritmust hajtja végre. (read, compute, write)

PN

.

2013.04.08. - 44 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

Page 45: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Memória hozzáférés

A modell több hozzáférési módot támogat:támogat:

• Exclusive Read (ER) • Concurrent Read (CR)• Exclusive Write (EW)• Concurrent Write (CW)• Concurrent Write (CW)

2013.04.08. - 45 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

Page 46: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Klasszikus PRAM modellek

• CREW (concurrent read, exclusive write)– leginkább használt– leginkább használt

• CRCW (concurrent read, concurrent write)– legjobb teljesítményű

• EREW (exclusive read, exclusive write)– leginkább megszorító– legrealisztikusabb– legrealisztikusabb

• CROW (concurrent read, owner write)r write

• Common CRCW, Priority CRCW, …

2013.04.08. - 46 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

Page 47: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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 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

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 47 -

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.

Page 48: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Grid hasonlat

MobilG

Munkaállomás

Supercomputer, PC-Cluster

GRID

MIDDLE

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 48 -

Vizualizáció

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

EWARE

Page 49: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Utility Grid modellErőforrás biztosítás

statikus 7/24Intézet 1

Intézet 2

Internet

Felhasználó 1 Felhasználó N

Donor és felhasználó

Donor és felhasználó

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 49 -

Dinamikus erőforrás

igények

Felhasználó 1 Felhasználó N

Page 50: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

A Utility Gridek jellemzői

• A donorok profi erőforrás biztosítók (7/24 órás üzemmód) � Egyszerűsíté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

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 50 -

felhasználók között

U >> D

Page 51: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

LHC

Large Hadron Collider Produces ~15 PByte/year

2013.05.06. - 51 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

Page 52: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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

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

2013.05.06. - 52 -Párhuzamos és Grid rendszerek © BME-IIT Sz.I.

Page 53: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Egyik kísérlet (CMS) detektora

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 53 -

Page 54: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Desktop Grid modellDinamikus erőforrás biztosítás

Vállalati /

Egyetemi Donor:

Internet

Egyetemi

Szerver

Donor: Vállalat /

Egyetem / privát PC

Alkalmazás

Donor: Donor:

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 54 -

Software disztribúció

Donor: Vállalat /

Egyetem / privát PC

Donor: Vállalat /

Egyetem / privát PC

Page 55: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Újabb buzzword?

• Metacomputing

• Utility computing• Utility computing

• Grid computing

• IaaS – Infrastructure as a Service

• PaaS – Platform as a Service

• SaaS – Softare as a Service

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 55 -

• SaaS – Softare as a Service

• ???

Page 56: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Cloud computing def.

• Még bizonytalan a def., többen mást gondolnak róla. NIST definíció:gondolnak róla. NIST definíció:

• 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

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 56 -

• Lényegében Web 2.0 kiterjesztve?

Page 57: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Jellemző tulajdonságok (NIST)

1. Igény szerinti önkiszolgálás– konfig. lehetőségek– konfig. lehetőségek

2. Széles hálózati elérés– vékony/vastag kliens

3. Erőforrások egyesítése és megosztása– több felhasználót (bérlőt) is kiszolgál

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 57 -

– több felhasználót (bérlőt) is kiszolgál

4. Rugalmas, gyors konfigurálhatóság

5. Szolgáltatások mérése/számlázása

Page 58: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Cloud rendszerezés

• Szolgáltatási rétegek szerint– IaaS

– PaaS

– SaaS

– ??

• Telepítési modell sezrint– Privát

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 58 -

– Publikus

– Hibrid

– Közösségi

– Kormányzati

Page 59: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

IaaS

Infrastructure as a Service (computer infrastr.)

• Amazon Web Services• Amazon Web Services

• Rackspace

• Cloud.com

• Openstack

• Terremark

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 59 -

• Terremark

• vCloud

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

Page 60: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

PaaS

Platform as a Service (solution stack)

• App Engine (Google)• App Engine (Google)

• Azure (MS)

• Engine Yard

• Force.com

• Heroku

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 60 -

• Heroku

• S3 (Amazon)

• SQS (Amazon)

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

Page 61: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

SaaS

Softare as a Service

• Szoftver alkalmazás igénybevétele web • Szoftver alkalmazás igénybevétele web felületen on-line módon– Clarizen

• teljes projektmenedzsment

– Google Docs

– SlideRocket

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 61 -

– SlideRocket

– Blists• database app

Page 62: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

SaaS/2

– Microsoft Hosting, Microsoft Resource Directory

– Oracle on Demand

– IBM Cloud Computing Speciality

– HP Cloud Assure on SaaS

– SAP Cloud

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 62 -

Page 63: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Koncepcionális modell (NIST)

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 63 -

Page 64: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

Rétegek közötti kapcsolat (NIST)

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 64 -

Page 65: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

A Dasein Cloud API

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 65 -

3rd party pl. enStratus

Page 66: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

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.

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 66 -

Page 67: Párhuzamos és Grid rendszerek (14. ea) · 2013. 5. 10. · • N újabb csatornával az algoritmus a szimmetria miatt tovább egyszer űsíthet ő: – hozzunk létre minden i

A Dasein API szolgáltatásai

• Hozzáférés-vezérlés

• Számlázás• Számlázás

• Statikus IP hozzárendelés

• Storage és Content Distribution, Network kezelés

• Adatközpontok kezelése geográfiai elhelyezkedésük szerint

• VM, machine image és virtuális meghajtó kezelés• VM, machine image és virtuális meghajtó kezelés

• Tűzfalak kezelése

• Load balancer és auto-scaling

• Push notification eseménykezelés

2013.05.06.Párhuzamos és Grid rendszerek © BME-IIT Sz.I. - 67 -