IB109 Návrh a implementace paralelních systémů. Kolektivní komunikační primitava. RNDr. Jiří Barnat, Ph.D.



Podobné dokumenty
Distribuovaná synchronizace. Paralelní a distribuované systémy. 11. Přednáška Vzájemné vyloučení. Centralizovaný algoritmus - fronta procesů

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. RNDr. Jiří Barnat, Ph.D.

Procesor. Procesor FPU ALU. Řadič mikrokód

Management procesu II Mgr. Josef Horálek

Paralelní systémy. SIMD jeden tok instrukcí + více toků dat jedním programem je zpracováváno více různých souborů dat

Interpret jazyka IFJ2011

Principy počítačů I Propojovací systémy

PARALELNÍ PROCESY A PROGRAMOVÁNÍ

1 Úvod do kompilátorů

Intel (2) Intel (1) Intel (3) Intel (4) Intel (6) Intel (5) Nezřetězené zpracování instrukcí:

KMA/PDB. Karel Janečka. Tvorba materiálů byla podpořena z prostředků projektu FRVŠ č. F0584/2011/F1d

Principy činnosti sběrnic

Operační systémy Tomáš Hudec. 6 Komunikace procesů (IPC) Obsah: 6.1 Klasické problémy souběhu Obědvající filosofové

Architektury CISC a RISC, uplatnění v personálních počítačích

Roman Výtisk, VYT027

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:

Pokud nebude na příkazové řádce uveden právě jeden argument, vypište chybové hlášení a stručný

Další aspekty architektur CISC a RISC Aktuálnost obsahu registru

Algoritmus Minimax. Tomáš Kühr. Projektový seminář 1

Základní komunikační operace

Bezdrátový přenos dat

PROCESOR. Typy procesorů

IB108 Sada 1, Příklad 1 Vypracovali: Tomáš Krajča (255676), Martin Milata (256615)

Testování jednotky ALU a aplikace metody FMEA

Charakteristika dalších verzí procesorů v PC

Pokročilé haldy. prof. Ing. Pavel Tvrdík CSc. Fakulta informačních technologií České vysoké učení technické v Praze c Pavel Tvrdík, 2010

Paralelní a distribuované výpočty (B4B36PDV)

Stromy, haldy, prioritní fronty

Úvod do architektur personálních počítačů

Základní deska (1) Parametry procesoru (2) Parametry procesoru (1) Označována také jako mainboard, motherboard

IB109 Návrh a implementace paralelních systémů. Organizace kurzu a úvod. Jiří Barnat

Select sort: krok 1: krok 2: krok 3: atd. celkem porovnání. výběr nejmenšího klíče z n prvků vyžaduje 1 porovnání

Vyhodnocování dotazů slajdy k přednášce NDBI001. Jaroslav Pokorný MFF UK, Praha

Úvod z historie. Kompilátory. Kompilace / Kompilátor Compile / Compiler. Pojem kompilátoru. Úvod z historie

Architektura grafických ip pro Xbox 360 a PS3

Architektura počítače

Pojem architektura je převzat z jiného oboru lidské činnosti, než počítače.

Přidělování paměti I Mgr. Josef Horálek

Programovatelný regulátor FX15 Universal

Zpráva o průběhu přijímacího řízení na vysokých školách dle Vyhlášky MŠMT č. 343/2002 a její změně 276/2004 Sb.

Paralelní grafové algoritmy

TDL500. Systém elektronické evidence návštěvnosti TDL500

Strojový kód k d a asembler procesoru MIPS SPIM. MIPS - prostředí NMS NMS. 32 ks 32bitových registrů ( adresa registru = 5 bitů).

Střední odborná škola a Střední odborné učiliště, Dubno Ing. Miroslav Krýdl Tematická oblast ELEKTRONIKA

Paralelní LU rozklad

Směrovací protokoly, propojování sítí

IB109 Návrh a implementace paralelních systémů. Analytický model paralelních programů. RNDr. Jiří Barnat, Ph.D.

Pokročilé architektury počítačů

Úvod do teorie grafů

Principy operačních systémů. Lekce 6: Synchronizace procesů

Základní datové struktury III: Stromy, haldy

8) Jaké jsou důvody pro použití víceprůchodového překladače Dříve hlavně kvůli úspoře paměti, dnes spíše z důvodu optimalizace

Provádění instrukcí. procesorem. Základní model

Aritmetika s velkými čísly na čipové kartě

Semafory Zobecněním operací WAKEUP a SLEEP přidáním celočíselného čítače vzniknou semafory a jejich atomické operace DOWN a UP.

Proužkové mapování matic na procesory. Týden 11. Maticové výpočty a aplikace. Úlohy ze zpracování signálů a obrazů.

Vysoká škola báňská Technická univerzita Ostrava Fakulta elektrotechniky a informatiky. referát do předmětu: Pokročilé architektury počítačů.

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Sběrnicová struktura PC Procesory PC funkce, vlastnosti Interní počítačové paměti PC

Gramatická evoluce a softwarový projekt AGE

Obecné výpočty na GPU v jazyce CUDA. Jiří Filipovič

Základní normalizované datové přenosy

Distribuované algoritmy

Xbox 360 Cpu = IBM Xenon

Paměti a jejich organizace

1. Programování PLC. Programovatelné automaty II - 1 -

Časová a prostorová složitost algoritmů

Komunikace v síti M-Bus

Spojová implementace lineárních datových struktur

Surfels: Surface Elements as Rendering Primitives

Katedra informatiky, Univerzita Palackého v Olomouci. 27. listopadu 2013

bfs, dfs, fronta, zásobník, prioritní fronta, halda

Adresace paměti. 11.přednáška

V kompletním grafu nenastává problém. Každý uzel je soused se zbytkem vrcholů a může s nimi kdykoliv komunikovat.

Základy programování Operační systémy (UNIX) doc. RNDr. Petr Šaloun, Ph.D. VŠB-TUO, FEI (přednáška připravena z podkladů Ing. Michala Radeckého)

Paměti EEPROM (1) Paměti EEPROM (2) Paměti Flash (1) Paměti EEPROM (3) Paměti Flash (2) Paměti Flash (3)

3. Aritmetika nad F p a F 2

Algoritmy výpočetní geometrie

6. Procesory jiných firem... 1

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

Využití paralelních výpočtů v geodézii

Procesor Intel Pentium (1) Procesor Intel Pentium (3) Procesor Intel Pentium Pro (1) Procesor Intel Pentium (2)

Systémy pozemní pohyblivé služby

Počítačové sítě I. 4. Fyzická vrstva sítí. Miroslav Spousta, 2004

SII - Informatika. 1. Atribut relace, jehož hodnota jednoznačně určuje prvek v jiné relaci, se nazývá:

4. Úvod do paralelismu, metody paralelizace

Zdůvodněte, proč funkce n lg(n) roste alespoň stejně rychle nebo rychleji než než funkce lg(n!). Symbolem lg značíme logaritmus o základu 2.

Ro R dina procesor pr ů Int In e t l Nehalem Šmída Mojmír, SMI108 PAP PA 2009

Ivan Šimeček, Pavel Tvrdík

Software je ve světě IT vše, co není Hardware. Do softwaru patří aplikace, program, proces, algoritmus, ale i data (text, obrázky), operační systém

OPS Paralelní systémy, seznam pojmů, klasifikace

Pokročilá algoritmizace amortizovaná složitost, Fibonacciho halda, počítačová aritmetika

Digitální obvody. Doc. Ing. Lukáš Fujcik, Ph.D.

Analyzátor, minimalizátor kombinačních logických obvodů




AGP - Accelerated Graphics Port

bfs, dfs, fronta, zásobník, prioritní fronta, halda

PES lib (C + PASCAL) KNIHOVNY KOMUNIKAÈNÍCH FUNKCÍ 03/ PESlib KOMUNIKAČNÍ KNIHOVNY C, PASCAL 03/ stran 1

Transkript:

IB109 Návrh a implementace paralelních systémů Kolektivní komunikační primitava RNDr. Jiří Barnat, Ph.D.

Kvantitativní parametry komunikace B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 2/24 Komunikace (interakce) Předávání informací mezi jednotlivými procesy Parametry komunikace Latence zpoždění související se započetím vlastní komunikace Šířka pásma (bandwidth) maximální množství dat přenesených za jednotku času Objem množství předávaných dat Cena komunikace t s latence, t w šířka pásma, m objem t s + m t w (V prostředí se sdílenou pamětí dominuje zejména člen t s )

Kvantitativní parametry komunikace B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 3/24 Příklady Za jak dlouho napustím hrníček vodou pomocí 2km dlouhé zahradní hadice? Při konstantním čtení z paměti trvá získání kódu instrukce a příslušných operandů z paměti v průměru 5ns. Jaká je nejvyšší reálná rychlost vykonávání kódu uloženého v paměti 4GHz procesorem? [ 1/(5 10 9 ) = 0.2 10 9 = 200 MHz ]

Efektivita interakce B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 4/24 Pozorování Závěr Interakce jednotlivých úloh/procesů je nevyhnutelná Interakce způsobuje prodlevy ve výpočtu Režie související s interakcí by neměla být důvodem pro neefektivitu paralelního zpracování Komunikační primitiva musí být co nejefektivnější V této kapitole Popis různých typů komunikačních operací Odvození ceny pro jednotlivé topologie

Topologie komunikační sítě B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 5/24 Topologie Fyzická/logická struktura komunikačních kanálů mezi jednotlivými participanty komunikace. Vlastnosti komunikační sítě Průměr (maximální nejkratší cesta) Konektivita (počet disjunktních cest) Stupeň (max. počet linek incidenčních s jedním vrcholem) Cena zřízení Výlučnost přístupu (použití jednou úlohou blokuje ostatní) Rozšiřitelnost Škálovatelnost

Sběrnice, Kliky B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 6/24 Sběrnice Sdílené médium Propustnost, klesá s počtem uzlů (je třeba cache) Důležitost: Modeluje fyzické zapojení CPU Kliky (úplné sítě) Privátní neblokující spojení každého s každým Cena: počet linek je kvadratický vůči N Cena: stupeň každého uzlu je N 1 Škálovatelné, za podmínky levného zvyšování stupně uzlu Důležitost: abstraktní představa sítě, logická struktura

Prsteny, Hvězdice B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 7/24 Prsten (kruh, řetěz, 1-rozměrná mřížka) Uspořádání na uzlech Privátní neblokující komunikace s 2 nejbližšími uzly Důležitost: logická struktura komunikace, Pipeline model Hvězdice Spojení přes jeden centrální uzel Středový uzel může být úzkým místem Lze hierarchicky vrstvit (hvězdice hvězdic) Důležitost: Master-Slave model

Hyperkostka, Strom s aktivními vnitřními uzly IB109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 8/24 Hyperkostka Spojení n uzlů ve tvaru log 2 n-rozměrné krychle Stupeň uzlu je log 2 n Průměr sítě je log 2 n Počet linek O(N log(n)) Postup konstrukce binární označení uzlů s identifikátory 0 až 2 log2n 1 linka existuje mezi uzly pokud se označení liší v jednom bitu minimální vzdálenost uzlů odpovídá počtu odlišných bitů v označení uzlů Strom s aktivními vnitřními uzly Strom, kde participanty komunikace jsou listy i vnitřní uzly Kostra hyperkostky Strom s maximální hloubkou log 2 n Důležitost: Optimální šíření informací

Další topologie B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 9/24 Jiné topologie Z hlediska logického návrhu paralelní aplikace nezajímavé. Příklady Obecné stromy Přepojované sítě Vícevrstvé sítě (ω-síť) Mřížky Cyklické mřížky (torrus)

Sekce IB109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 10/24 Jeden na všechny a všichni na jednoho

Jeden na všechny a všichni na jednoho B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 11/24 One-To-All Vysílání (OTA) Úloha posílá několika/všem ostatním identická data Ve výsledku je p kopií originální zprávy v lokálních adresových prostorech adresátů Změna struktury dat: m p m (m-je velikost zprávy) All-To-One Redukce (ATO) Duální operace k One-To-All Několik/všechny úlohy posílají data jedné úloze Data se kombinují pomocí zvoleného asociativního operátoru Ve výsledku je jedna kopie v adresovém prostoru cílové úlohy m 1 m 2... m p m Změna struktury dat: m p m

OTA: Pro topologie prsten či řetěz B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 12/24 Naivní způsob One-To-All pro p procesů Poslat p 1 zpráv postupně ostatním procesům Úzké místo: odesílatel Síť je nevyužitá, komunikuje pouze jedna dvojice procesů Technika rekurzivního zdvojení Nejprve první proces pošle zprávu jinému procesu Poté oba procesy pošlou zprávu jiné dvojici Poté čtveřice procesů pošle zprávu jiné čtveřici... První proces pošle nejvýše log(p) zpráv Souběh zpráv na linkách sítě Optimální vzdálenosti adresátů pro jednotlivá kola jsou p/2, p/4, p/8, p/16,...

OTA: Pro topologii d-dimenzionální mřížka B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 13/24 One-To-All ve 2-rozměrné síti o p uzlech Lze chápat jako p řetízků o p uzlech V první fázi se propaguje informace do všech řetízků V druhé fázi se souběžně propaguje informace v jednotlivých řetízcích Celková cena: 2(log( p)) sekvenčně provedených operací One-To-All v d-rozměrné síti Stejný princip, velikost v jednom rozměru je p 1/d Celková cena: d(log(p 1/d ))

OTA: Pro topologii hyperkostka B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 14/24 Hyperkostka s 2 d vrcholy Aplikuje se algoritmus pro síť ve tvaru mřížky d-dimenzionální síť s hloubkou sítě 2 Každá fáze proběhne v konstantním čase (poslání 1 zprávy) Nenastává souběžný přístup na žádnou z komunikačních linek Celková cena: d Příklad Jak proběhne One-To-All na hyperkostce s dimenzí 3?

ATO: Duálně k OTA B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 15/24 All-To-One Redukce pro p procesů Probíhá duálně k operaci One-To-All Příklad: ATO pro topologie prsten či řetěz Prvně procesy s lichým ID pošlou zprávu procesům s ID o jedna menším, kde se zprávy zkombinují s hodnotou, kterou chtějí vyslat procesy se sudým ID Následně proběhne kombinace informací sousedních procesů se sudým ID na procesech jejichž ID je násobkem čtyř...

Univerzální algoritmy IB109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 16/24 Pozorování One-To-All procedury jsou si podobné Jdou nahradit univerzální procedurou Univerzální algoritmy OTA vysílání a ATO Redukce Předpokládají 2 d uzlů (hyperkostka) Každý uzel identifikován bitovým vektorem AND a XOR bitové operace Cena d(t s + mt w )

Univerzální algoritmy OTA vysílání B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 17/24 1 proc One-To-All(d, id, X ) 2 mask := 2 d 1 3 for i := d 1 downto 0 4 mask := mask XOR 2 i 5 if (id AND mask) = 0 6 then if (id AND 2 i ) = 0 7 then msg destination := id XOR 2 i 8 send X to msg destination 9 else msg source := id XOR 2 i 10 receive X from msg source 11 fi 12 fi 13 end 14 end

Univerzální algoritmy OTA vysílání libovolný odesílatel B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 18/24 1 proc General-One-To-All(d, id, src, X ) 2 virtid := id XOR src 3 mask := 2 d 1 4 for i := d 1 downto 0 5 mask := mask XOR 2 i 6 if (virtid AND mask) = 0 7 then if (virtid AND 2 i ) = 0 8 then virt destination := virtid XOR 2 i 9 send X to (virt destination XOR src) 10 else virt source := virtid XOR 2 i 11 receive X from (virt source XOR src) 12 fi 13 fi 14 end 15 end

Univerzální algoritmy ATO Redukce B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 19/24 1 proc All-To-One(d, id, m, X, sum) 2 for j := 0 to m 1 do sum[j] := X [j] end 3 mask := 0 4 for i := to d 1 5 if (id AND mask) = 0 6 then if (id AND 2 i ) = 0 7 then msg destination := id XOR 2 i 8 send sum to msg destination 9 else msg source := id XOR 2 i 10 receive X from msg source 11 for j := 0 to m 1 12 sum[j] := sum[j] + X [j] 13 end 14 fi fi 15 mask := mask XOR 2 i 16 end 17 end

Sekce B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 20/24 Všichni všem a všichni od všech

Všichni všem a všichni od všech All-To-All Vysílání Všichni posílají informaci všem Každá úloha posílá jednu zprávu všem ostatním úlohám Ve výsledku je p kopií p originálních zpráv v lokálních adresových prostorech adresátů Změna struktury dat: p m p p m All-To-All Redukce Všichni posílají informaci všem, příchozí zprávy se kombinují Každá úloha má pro každou jinou úlohu jinou zprávu Změna struktury dat: p p m p m Naivní řešení Sekvenční/násobné použití One-To-All procedur Neefektivní využití sítě B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 21/24

ATA: Pro topologie Prsten či řetěz B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 22/24 Prsten 1. fáze: každý uzel pošle informaci svému sousedovi 2. až n-tá fáze: uzly sbírají a přeposílají příchozí zprávy Všechny linky jsou po celou dobu operace plně využité Optimální algoritmus Řetěz Vysílání zpráv sousedům na obě strany Full-duplex linky n 1 fází Half-duplex linky 2(n 1) fází ATA Redukce Všechny zprávy procházejí přes všechny uzly Zprávy se kombinují při přeposílání

ATA: Pro topologie mřížky či hyperkostky B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 23/24 Sítě 2 fáze p řetízků o p uzlech Po první fázi uzly mají uzly p částí z celkového počtu p částí zprávy Příklad sítě 3x3, každý posílá své ID každému Hyperkostka Rozšíření algoritmu pro sítě na d dimenzí Po každé fázi (z celkového počtu d) je objem zpráv zdvojnásoben ATA Redukce Duální postup Po každé fázi je objem zpráv zredukován na polovinu

ATA: Analýza ceny Kruh a lineární pole, p uzlů T = (t s + t w m)(p 1) 2D mřížka, p uzlů 1. fáze (t s + mt w )( p 1) 2. fáze (t s + m pt w )( p 1) Celkem: T = 2t s ( p 1) + t w m(p 1) Hyperkostka, p = 2 d uzlů T = log p i=1 (t s + 2 i 1 t w m) T = t s log p + t w m(p 1) Pozorování Člen t w m(p 1) se vyskytuje vždy Pipeline několika OTA operací B109 Návrh a implementace paralelních systémů: Kolektivní komunikační primitava str. 24/24