Párhuzamos és Grid rendszerek

Hasonló dokumentumok
Párhuzamos és Grid rendszerek

Összefogalás. Párhuzamos és Grid rendszerek. Párhuzamos gépek osztályai. Jellemző szupersz.gép típusok. Flynn-féle architektúra modell

Párhuzamos és Grid rendszerek. Összefogalás. Jellemző szupersz.gép típusok. Párhuzamos architektúrák. Párh. prog. fejlesztési módszerek

Flynn féle osztályozás Single Isntruction Multiple Instruction Single Data SISD SIMD Multiple Data MISD MIMD

egy szisztolikus példa

Párhuzamos és Grid rendszerek

Bevezetés a párhuzamos programozási koncepciókba

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

Programozás alapjai II. (7. ea) C++

Párhuzamos programozási platformok

Párhuzamos algoritmusok tervezésének alapjai

Párhuzamos és Grid rendszerek

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Occam 1. Készítette: Szabó Éva

Párhuzamos programozási platformok

Szenzorhálózatok programfejlesztési kérdései. Orosz György

Párhuzamos algoritmusok tervezésének alapjai

Kereső algoritmusok a diszkrét optimalizálás problémájához

Párhuzamos és Grid rendszerek. Parallel programozás áttekintése. Történelmi áttekintés

Kereső algoritmusok a diszkrét optimalizálás problémájához

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Bevezetés. Többszálú, többmagos architektúrák és programozásuk Óbudai Egyetem, Neumann János Informatikai Kar

Alapszintű formalizmusok

Algoritmusokfelülnézetből. 1. ELŐADÁS Sapientia-EMTE

Párhuzamosítás adatbáziskezelő rendszerekben

Párhuzamos programozási feladatok

SAT probléma kielégíthetőségének vizsgálata. masszív parallel. mesterséges neurális hálózat alkalmazásával

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

Algoritmusok. Dr. Iványi Péter

Számítógép Architektúrák

Párhuzamos programozási feladatok. BMF NIK tavasz B. Wilkinson és M. Allen oktatási anyaga alapján készült

Fibonacci számok. Dinamikus programozással

A Borda-szavazás Nash-implementálható értelmezési tartományai

Számítógép architektúra

Párhuzamos programozási feladatok

Struktúra nélküli adatszerkezetek

Összefoglalás és gyakorlás

Mátrixok 2017 Mátrixok

Parallel programozás áttekintése. Párhuzamos és Grid rendszerek. Történelmi áttekintés. Jellemző szupersz.gép típusok. Flynn-féle architektúra modell

Előadó: Nagy István (A65)

Dinamikus programozás párhuzamosítási lehetőségekkel

Csoportos üzenetszórás optimalizálása klaszter rendszerekben

"A tízezer mérföldes utazás is egyetlen lépéssel kezdődik."

I. VEKTOROK, MÁTRIXOK

elektronikus adattárolást memóriacím

Szimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)

Ezeket a kiemelkedı sebességő számítógépeket nevezzük szuperszámítógépeknek.

Programozási módszertan. Dinamikus programozás: szerelőszalag ütemezése Mátrixok véges sorozatainak szorzása

Objektumorientált paradigma és programfejlesztés Bevezető

Klasszikus algebra előadás. Waldhauser Tamás április 28.

Térbeli transzformációk, a tér leképezése síkra

Numerikus módszerek beugró kérdések

Az informatika kulcsfogalmai

FPGA áramkörök alkalmazásainak vizsgálata

SZÁMÍTÓGÉP ARCHITEKTÚRÁK

Diszkrét matematika I., 12. előadás Dr. Takách Géza NyME FMK Informatikai Intézet takach november 30.

Autóipari beágyazott rendszerek. Local Interconnection Network

III. Alapfogalmak és tervezési módszertan SystemC-ben

Osztott rendszer. Osztott rendszer informális definíciója

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Követelmény a 6. évfolyamon félévkor matematikából

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Hálózati réteg. WSN topológia. Útvonalválasztás.

Gauss-Seidel iteráció

Párhuzamos és Grid rendszerek. Hol tartunk? Klaszter. Megismerkedtünk az alapfogalmakkal,

Informatika 6. évfolyam

Grafikonok automatikus elemzése

Folyamatok. 6. előadás

A félév során előkerülő témakörök

Diszkrét matematika I. gyakorlat

Diszkrét matematika 2.C szakirány

UNIX: folyamatok kommunikációja

A SPIN használata, példák II

Nagy Gábor compalg.inf.elte.hu/ nagy

Fine-Grained Network Time Synchronization using Reference Broadcast

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Algoritmuselmélet. Függvények nagyságrendje, elágazás és korlátozás, dinamikus programozás. Katona Gyula Y.

1. Alapfogalmak Algoritmus Számítási probléma Specifikáció Algoritmusok futási ideje

Alapszintű formalizmusok

Dinamikus programozás vagy Oszd meg, és uralkodj!

Dinamikus modellek szerkezete, SDG modellek

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

A szimplex algoritmus

C# Szálkezelés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) C# Szálkezelés / 21

Specifikáció. B logikai formula, a bemeneti feltétel, K logikai formula, a kimeneti feltétel, A az algoritmus, amelyre az állítás vonatkozik.

Az MTA Cloud a tudományos alkalmazások támogatására. Kacsuk Péter MTA SZTAKI

Gazdasági matematika II. tanmenet

Vektorterek. Több esetben találkozhattunk olyan struktúrával, ahol az. szabadvektorok esetében, vagy a függvények körében, vagy a. vektortér fogalma.

Felvételi tematika INFORMATIKA

Gyártórendszerek Dinamikája. Gyártórendszerek jellemzése és szerkezete Gyártórendszerekkel kapcsolatos mérnöki feladatok

VIRTUAL NETWORK EMBEDDING VIRTUÁLIS HÁLÓZAT BEÁGYAZÁS

3. Előadás. Megyesi László: Lineáris algebra, oldal. 3. előadás Lineáris egyenletrendszerek

Adatszerkezetek 1. előadás

Gauss elimináció, LU felbontás

Követelmény az 5. évfolyamon félévkor matematikából

Átírás:

Párhuzamos és Grid rendszerek (2. ea) párhuzamos algoritmusok tervezése Szeberényi Imre BME IIT <szebi@iit.bme.hu> Az ábrák egy része Ian Foster: Designing and Building Parallel Programs (Addison-Wesley) c. könyvéből származik. M Ű E G Y E T E M 1 7 8 2 Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 1 -

Hol tartunk? Megismerkedtünk az alapfogalmakkal Megismertük a fontosabb párhuzamos architektúrákat: SMP (NUMA, ccnuma) MPP CLUSTER Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 2 -

Hol tartunk? /2 Felvázoltunk fizikai és logikai összeköttetéseket Egyszerű absztrakciós modellt alkottunk a párhuzamos gépek leírására Említett programozási modellek Közös memóriás Elosztott közös memóriás Üzenet küldéses Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 3 -

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 Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 4 -

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őlegesen rendelhetők össze a processzorokkal Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 5 -

Taszk/csatorna modell /3 Példa: termelő-fogyasztó probléma taszk1: termelő taszk2: fogyasztó Raktár T1 T2 ha a fogyasztó lassabb, akkor a felhalmozódik a termelt adat ha a termelő a lassabb, akkor vár a fogy. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 6 -

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 adatot a termelő ennek hatására termel Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 7 -

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 taszkprocesszor összerendeléstől, taszkok számától. Moduláris felépítést tesz lehetővé. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 8 -

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.) Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 9 -

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: Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 10 -

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. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 11 -

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: L 0 L 0 L 0 L 3 Egy N elemű vektorba minden taszk beteszi a saját adatát (koord., 3 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ó. 2 0 1 Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 12 -

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. L 0 F 0 L 1 F 1 L 2 F 2 L 3 F 3 L 4 F 4 4 3 0 2 1 Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 13 -

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 Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 14 -

Párh. algoritmus példák /6 Pipeline rendezés: minden elem megtartja a nagyobbat a kisebbet továbbküldi Pipeline merge sort 2 1 6 8 3 1 8 4 8 6 5 4 8 7 6 5 4 3 2 1 7 2 3 1 5 6 4 8 p0 p1 p2 p3 7 3 5 4 7 2 6 5 7 3 2 1 - Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 15 -

Párh. algoritmusok tervezése Nem egyszerű. Kreativitást igényel. Számos iterációt tartalmaz. Nincs egyszerű recept. Vannak betartható, ajánlott lépések, módszerek. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 16 -

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. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 17 -

Particionálás Cél: Párhuzamosítható részek felderítése. A művelet absztrakt, nem veszi figyelembe párhuzamos környezet HW/SW adottságait. Finom felbontás (sok kis részfeladat) előállítása hatékonyabb és egyszerűbb. A feladatot és az adatokat is kis részekre szedjük. domén dekompozíció funkcionális dekompozíció Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 18 -

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ó: Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 19 -

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ó Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 20 -

Hogy sikerült a partícionálás? Jól, ha partícionálással kapott taszkok száma nagyságrendileg több mint a proc. száma. Jól, ha redundancia mentes. Jól ha a taszkok mérete hasonló. Jól, ha a probléma méretével a taszkok száma is nő. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 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 Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 22 -

Kommunikációs példák /1 Lokális kommunikáció (Jakobi): (Gauss-Seidel): Red-Black ordering: Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 23 -

Kommunikációs példák /2 Globális kommunkáció (szumma): Csővezeték: Oszd meg és uralkodj: Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 24 -

Hogy sikerült a kommunikáció? Jól, ha közel azonos számú kommunikációt végez minden taszk. Jól, ha a taszkok csak lokális környezetükkel kommunikálnak. Jól, ha kommunikácó konkurensen párhuzamosan zajlik. Különböző taszkok konkurensen kommunikálnak. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 25 -

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. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 26 -

Agglomeráció szükségessége A kommunikáció "költséges" A kommunikáció szükségtelen szinkronizációt okoz Térfogat-felület effektus (számítás/ kommunikáció arány) Flexibilitás megtartása Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 27 -

Hogy sikerült az agglomeráció? Jól, ha jelentősen növekedett a lokális kommunikáció Jól, ha a skálázhatóság nem romlott. Jól, ha az összevont taszkok mérete közel azonos. Jól, ha a probléma méretével növekszik a taszkok száma. Jól, ha a már nem vonhatók össze feladatok anélkül, hogy a skálázhatóság vagy a terheléskiegyenlíthetőség ne romlana. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 28 -

Leképezés (mapping) Tényleges HW/SW környezet figyelembe vétele, leképezés a fizikai gépre. Jelentősen befolyásolhatja a terheléskiegyenlítést, ütemezési algoritmust. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 29 -

Hogy sikerült a leképezés? Jól, ha nem keletkezett szűk keresztmetszet a programban. Jól, ha több lehetséges leképezést is megvizsgáltunk. Ha figyelemmel voltunk a terheléskiegyenlítésre. Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 30 -

Komplex példa: mátrix szorzás /1 Mátrix-mátrix szorzás: O(N 3 ) Partícionálás: egy Cij-t csak egy processzor számoljon domén dekompozíció 1D: 2D: Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 31 -

Komplex példa: mátrix szorzás /2 Kommunikáció 1D: Minden proc.-nak szüksége van a teljes A-ra. tfh. egy processzor felelős az adatok szétküldéséért és begyűjtéséért (pl. SPMD) T 1d = (P-1)*(N 2 + 2*N 2 /P) P*N 2 A kommunikációs igény processzor számával lineárisan nő! Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 32 -

Komplex példa: mátrix szorzás /2 Kommunikáció 2D: Azonos sor ill. azonos oszlop kell A-ból és B-ből. Algoritmus (Fox s): 1. C = 0 2. Ismétlés N-1-szer: 3. A átlóit soronként ismételve tegyük egy A'-be 4. C ij = C ij + B ij * A ij 5. B = B ciklikus feltolása T 2d = 2*( P-1)*N 2 + (P-1)*N 2 /P N 2 / P Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 33 -

Komplex példa: mátrix szorzás /4 Agglomeráció: A kommunikációs igény felmérésénél láttuk, hogy érdemes lehet nagyobb csoportokat alkotni. Esetleg más algoritmusok (pl. Cannon) más agglomerációt igényelhetnek. Leképezés (mapping): Rács Fa Párhuzamos és Grid rendszerek BME-IIT Sz.I. 2013.02.18. - 34 -