Párhuzamos programozási platformok

Hasonló dokumentumok
Párhuzamos programozási platformok

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

Számítógépek felépítése

egy szisztolikus példa

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

5-6. ea Created by mrjrm & Pogácsa, frissítette: Félix

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

Számítógép felépítése

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

Készítette: Trosztel Mátyás Konzulens: Hajós Gergely

A számítógép egységei

VLIW processzorok (Működési elvük, jellemzőik, előnyeik, hátrányaik, kereskedelmi rendszerek)

Számítógép-rendszerek fontos jellemzői (Hardver és Szoftver):

9. MPI

Párhuzamos programozási modellek

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

CRA - Cisco Remote Access

A PET-adatgy informatikai háttereh. Nagy Ferenc Elektronikai osztály, ATOMKI

Programozható logikai vezérlő

Utolsó módosítás:

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Programozási nyelvek a közoktatásban alapfogalmak I. előadás

Biztonsági folyamatirányító. rendszerek szoftvere

Neurális hálózatok bemutató

Szuperszámítógépektől a klaszterekig. Kacsuk Péter

GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc

Párhuzamos programok futásának kiértékelése Scalasca profiler segítségével

Mikrorendszerek tervezése

Elosztott rendszer architektúrák

A processzor hajtja végre a műveleteket. összeadás, szorzás, logikai műveletek (és, vagy, nem)

Ismerkedjünk tovább a számítógéppel. Alaplap és a processzeor

Magas szintű optimalizálás

IBM felhő menedzsment

A SZOFTVERTECHNOLÓGIA ALAPJAI

Digitális rendszerek. Digitális logika szintje

Tartalomjegyzék. Előszó... 10

TestLine - zsoltix83 hálozat 1 Minta feladatsor

Az NIIF új szuperszámítógép infrastruktúrája Új lehetőségek a kutatói hálózatban

Operációs rendszerek. UNIX fájlrendszer

Grafikus csővezeték 1 / 44

ARM processzorok felépítése

Programozási nyelvek 6. előadás

Számítógép egységei. Szoftver (a fizikai eszközöket működtető programok összessége)

NetWare 6 technikai áttekintés 2. rész

Párhuzamos és Grid rendszerek

ARM Cortex magú mikrovezérlők. mbed

Bepillantás a gépházba

Architektúra, cache. Mirıl lesz szó? Mi a probléma? Teljesítmény. Cache elve. Megoldás. Egy rövid idıintervallum alatt a memóriahivatkozások a teljes

1. tétel. A kommunikáció információelméleti modellje. Analóg és digitális mennyiségek. Az információ fogalma, egységei. Informatika érettségi (diák)

Fábián Zoltán Hálózatok elmélet

Számítógépes munkakörnyezet II. Szoftver

TI TMDSEVM6472 rövid bemutatása

A CUDA előnyei: - Elszórt memória olvasás (az adatok a memória bármely területéről olvashatóak) PC-Vilag.hu CUDA, a jövő technológiája?!

TANMENET 2018/2019. tanév

OSI-ISO modell. Az OSI rétegek feladatai: Adatkapcsolati réteg (data link layer) Hálózati réteg (network layer)

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

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

OpenCL - The open standard for parallel programming of heterogeneous systems

A Számítógépek felépítése, mőködési módjai

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

2. Számítógépek működési elve. Bevezetés az informatikába. Vezérlés elve. Külső programvezérlés... Memória. Belső programvezérlés

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

Számítógépes alapismeretek

GPGPU-k és programozásuk Dezső, Sima Sándor, Szénási

HÁLÓZATOK I. Segédlet a gyakorlati órákhoz. Készítette: Göcs László mérnöktanár KF-GAMF Informatika Tanszék tanév 1.

Everything Over Ethernet

Operandus típusok Bevezetés: Az utasítás-feldolgozás menete

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

SDN a különböző gyártói megközelítések tükrében

Hálózatok. Alapismeretek. A hálózatok célja, építőelemei, alapfogalmak

III. előadás. Kovács Róbert

Számítógép architektúrák záróvizsga-kérdések február

ELŐADÁS SZÁMÍTÓGÉP MŰKÖDÉSE FIZIKA ÉS INFORMATIKA

Bánsághi Anna 1 of 67

Lokális hálózatok. A lokális hálózat felépítése. Logikai felépítés

Hálózati ismeretek. Az együttműködés szükségessége:

1. Generáció( ):
























Átírás:

Párhuzamos programozási platformok Parallel számítógép részei Hardver Több processzor Több memória Kapcsolatot biztosító hálózat Rendszer szoftver Párhuzamos operációs rendszer Konkurenciát biztosító programozási konstrukciók Alkalmazás szoftver Párhuzamos algoritmusok Cél: úgy használjuk a hardvert, a rendszer és az alkalmazás programot, hogy Sebességnövekedést érjünk el T p = T s / p Nagy mennyiségű memóriát igénylő feladatokat is meg tudjunk oldani Párhuzamos programozási platfomrok 2 Párhuzamos programozási platformok 1

Párhuzamos számítási platform Logikai felépítés Ahogy a felhasználó látja a gépet, amit a rendszer szoftver mutat Fizikai felépítés Az aktuális hardver architektúra A fizikai architektúra nagyrészt független a logikai felépítéstől Párhuzamos programozási platfomrok 3 Logikai felépítés elemei Vezérlő mechanizmus SISD/SIMD/MIMD/MISD: Single/Multiple Instruction Stream & Single/Multiple Data Stream SPMD: Single Program Multiple Data Párhuzamos programozási platfomrok 4 Párhuzamos programozási platformok 2

Logikai felépítés típusai Kommunikációs modell szerint Shared-Address Space - Megosztott címterű UMA/NUMA/ccNUMA Message-Passing Üzenet-továbbítás MPI PVM Párhuzamos programozási platfomrok 5 Fizikai szervezés Ideális párhuzamos számítógép architektúra PRAM: Parallel Random Access Machine PRAM modellek EREW/ERCW/CREW/CRCW Exkluzív/konkurens olvasás és/vagy írás Konkurens írás a következőket jelentheti Közös: párhuzamos írás engedélyezett, ha minden processzor ugyanazt az azonos értéket szeretné írni Tetszőleges: valamelyik írhat, a többi hibát kap Prioritásos: processzorok prioritás listába rendezettek és ennek megfelelően írnak Összegző: a mennyiségek összege kerül írásra Párhuzamos programozási platfomrok 6 Párhuzamos programozási platformok 3

Fizikai felépítés Kapcsolt hálózatok (Interconnection Networks: ICN) Processzor-processzor és processzor-memória kapcsolatot biztosít Hálózatok osztályozása: Statikus hálótatok, vagy direkt hálózatok: pont-pont kapcsolatok Dinamikus hálózatok, vagy indirekt hálózatok: a hálózati kapcsolóelemek kapcsolják a processzorokat Párhuzamos programozási platfomrok 7 Statikus és dinamikus ICN Párhuzamos programozási platfomrok 8 Párhuzamos programozási platformok 4

Hálózatok mérhető jellemzői Átmérő Maximális távolság két csomópont között jobb, ha kisebb Összekapcsolódás (connectivity) A legkevesebb él, amit eltávolítva, két hálózatra esik szét a rendszer jobb, ha nagyobb Az utak multiplicitásának jellemzője Félbevágási minimális szélesség (bisection width) A legkevesebb él, amelynek eltávolításával két azonos méretű félre bontható a háló jobb, ha nagyobb Félbevágási minimális sávszélesség Az él súlya megmutatja, hogy mennyi adat haladhat át rajta A minimális kommunikációs mennyiség, amit két tetszőleges fél között biztosított jobb, ha nagyobb Költség Kapcsolatok száma kevesebb jobb Párhuzamos programozási platfomrok 9 Dinamikus hálózati jellemző Párhuzamos programozási platfomrok 10 Párhuzamos programozási platformok 5

Párhuzamos számítógép topológiák Megosztott memória Szétosztott memória Quad Pentium - Shared Memory Multiprocessor Processor L1 cache Processor L1 cache Processor L1 cache Processor L1 cache L2 Cache L2 Cache L2 Cache L2 Cache Bus interface Bus interface Bus interface Bus interface Processor/ memory bus I/O interface Memory controller I/O bus Shared memory Memory Párhuzamos programozási platfomrok 12 Párhuzamos programozási platformok 6

Párhuzamos programozási lehetőségek Szálakkal a szálon kívül definiált változókat is Példa: Pthreads Soros programnyelv preprocesszor fordítási direktívákkal, amelyek megosztott változókat és párhuzamosságot biztosítanak Példa: OpenMP - OpenMP compiler Soros programnyelv extra nyelvi elemekkel, amelyek megosztott változókat és párhuzamosságot biztosítanak Példa UPC (Unified Parallel C) - UPC compiler. Párhuzamos programozási nyelv párhuzamosságot biztosító szintaktikával a compiler készít futatható kódot minden processzorra (kutatási terület) Párhuzamos programozási platfomrok 13 Üzenet-küldés (MPI) Teljes, önálló számítógépek összekapcsolva Üzenet Processzor Interconnection network Lokális memória Párhuzamos programozási platfomrok 14 Párhuzamos programozási platformok 7

Két dimenziós háló Kapcsolat Számítógép/ processzor Párhuzamos programozási platfomrok 15 3D-s hiperkocka 110 111 100 101 010 011 000 001 Párhuzamos programozási platfomrok 16 Párhuzamos programozási platformok 8

4D-s hiperkocka 0110 0111 1110 1111 0100 0101 1100 1101 0010 0011 1010 1011 0000 0001 1000 1001 Párhuzamos programozási platfomrok 17 Crossbar kapcsolat Memóriák Processzorok Kapcsolók Párhuzamos programozási platfomrok 18 Párhuzamos programozási platformok 9

Fa topológia Root Links Switch element Processors Párhuzamos programozási platfomrok 19 Többállapotú kapcsolt hálózatok Példa: Omega háló 2 2 switch elements (straight-through or crossover connections) 000 001 010 011 Inputs 100 101 110 111 000 001 010 011 Outputs 100 101 110 111 Párhuzamos programozási platfomrok 20 Párhuzamos programozási platformok 10

Topológiák - összefoglaló Párhuzamos programozási platfomrok 21 Topológiák - összefoglaló Párhuzamos programozási platfomrok 22 Párhuzamos programozási platformok 11