4. Úvod do paralelismu, metody paralelizace

Podobné dokumenty
Přehled paralelních architektur. Dělení paralelních architektur Flynnova taxonomie Komunikační modely paralelních architektur

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

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

Obsah. Kapitola 1 Hardware, procesory a vlákna Prohlídka útrob počítače...20 Motivace pro vícejádrové procesory...21

1. Zpracování událostí na pozadí aplikace

ZÁKLADY PROGRAMOVÁNÍ. Mgr. Vladislav BEDNÁŘ /14

Představení a vývoj architektur vektorových procesorů

PROGRAMOVÁNÍ. Cílem předmětu Programování je seznámit posluchače se způsoby, jak algoritmizovat základní programátorské techniky.

Static Load Balancing Applied to Time Dependent Mechanical Problems

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.

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

Semestrální práce z předmětu Speciální číslicové systémy X31SCS

Architektury počítačů

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

Využijte plný výkon procesorů s více jádry v LabVIEW 8.5

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

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Přijímací zkouška - informatika

Objektově orientovaná implementace škálovatelných algoritmů pro řešení kontaktních úloh

Paralení programování pro vícejádrové stroje s použitím OpenMP. B4B36PDV Paralelní a distribuované výpočty

OSA. maximalizace minimalizace 1/22

Procesor. Hardware - komponenty počítačů Procesory

NSWI /2011 ZS. Principy cpypočítačůčů aoperačních systémů ARCHITEKTURA

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

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Úvod do B4B36PDV. Organizace předmětu a seznámení se s paralelizací. B4B36PDV Paralelní a distribuované výpočty

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

Principy počítačů I Netradiční stroje

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

Základy informatiky. 2. Přednáška HW. Lenka Carr Motyčková. February 22, 2011 Základy informatiky 2

Úvod do GPGPU J. Sloup, I. Šimeček

Procesy a vlákna (Processes and Threads)

Pohled do nitra mikroprocesoru Josef Horálek

Algoritmizace. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

Paralelní programování

Činnost CPU. IMTEE Přednáška č. 2. Několik úrovní abstrakce od obvodů CPU: Hodinový cyklus fáze strojový cyklus instrukční cyklus

architektura mostů severní / jižní most (angl. north / south bridge) 1. Čipové sady s architekturou severního / jižního mostu

Roman Výtisk, VYT027

NP-ÚPLNÉ PROBLÉMY. Doc. RNDr. Josef Kolář, CSc. Katedra teoretické informatiky, FIT České vysoké učení technické v Praze

Digitální učební materiál

Binární vyhledávací stromy II

Paralelní grafové algoritmy

Maturitní témata. IKT, školní rok 2017/18. 1 Struktura osobního počítače. 2 Operační systém. 3 Uživatelský software.

Provozní statistiky centra CERIT-SC

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

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

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování. Předmět: Programování

Základní úrovně: Moorův zákon: multi-core mikroprocesory (CPU) hypertherading pipeline many-core Paralelní systém Instrukce iterace procedura Proces

Základní deska (1) Označována také jako mainboard, motherboard. Deska plošného spoje tvořící základ celého počítače Zpravidla obsahuje:

Architektura Intel Atom

Paralelní výpočty ve finančnictví

Sekvenční logické obvody

Paměti cache. Cache může být realizována softwarově nebo hardwarově.

Maturitní témata Školní rok: 2015/2016

Oborové číslo Hodnocení - část A Hodnocení - část B Hodnocení - část A+B

Složitosti základních operací B + stromu

2. Modelovací jazyk UML 2.1 Struktura UML Diagram tříd Asociace OCL. 3. Smalltalk 3.1 Jazyk Pojmenování

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

Základy logického řízení

Doc. Ing. Daniel Kaminský, CSc. ELCOM, a.s.

Referát (pokročilé architektury počítačů)

Informace pro výběr bakalářského oboru

DobSort. Úvod do programování. DobSort Implementace 1/3. DobSort Implementace 2/3. DobSort - Příklad. DobSort Implementace 3/3

Programování II. Modularita 2017/18

AGP - Accelerated Graphics Port

Témata profilové maturitní zkoušky

Organizace předmětu, podmínky pro získání klasifikovaného zápočtu

Identifikátor materiálu: ICT-1-08

Architektura počítače

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

Masarykova střední škola zemědělská a Vyšší odborná škola, Opava, příspěvková organizace

Obsah. Předmluva 13. O autorovi 15. Poděkování 16. O odborných korektorech 17. Úvod 19

Profilová část maturitní zkoušky 2013/2014

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

PB002 Základy informačních technologií

Vzdělávací oblast: Informatika a informační a komunikační technologie Vzdělávací obor: Programování Předmět: Programování

PROGRAMOVÁNÍ ŘÍDÍCÍCH SYSTÉMŮ

Profilová část maturitní zkoušky 2017/2018

Analytické metody v motorsportu

Průmysl 4.0 revoluceprobíhá

Procesor EU peníze středním školám Didaktický učební materiál

2. úkol MI-PAA. Jan Jůna (junajan)

1/1 ČESKÁ ZEMĚDĚLSKÁ UNIVERZITA V PRAZE PROVOZNĚ EKONOMICKÁ FAKULTA PŘIJÍMACÍ ŘÍZENÍ 2017/2018

Protiopatření eliminující proudovou analýzu

Profilová část maturitní zkoušky 2014/2015

Martin Lísal. Úvod do MPI

Automatizace je proces při němž je řídicí funkce člověka nahrazována činností

Paralelní výpočetní jádro matematického modelu elektrostatického zvlákňování

Algoritmy a struktury neuropočítačů ASN - P14. Neuropočítače

Informatika. tercie. Mgr. Kateřina Macová 1

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

Integrovaná střední škola, Sokolnice 496

Západočeská univerzita v Plzni. Fakulta aplikovaných věd. Ivana Kozlová. Modely analýzy obalu dat

Výpočetní a aplikovaná matematika

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

Architektura počítačů

Složitost algoritmů. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava

Paralelní programování

Transkript:

4. Úvod do paralelismu, metody paralelizace algoritmů Ing. Michal Bližňák, Ph.D. Ústav informatiky a umělé inteligence Fakulta aplikované informatiky UTB Zĺın Paralelní procesy a programování, Zĺın, 26. února 2014 1 / 20

Motivace pro paralelizaci algoritmů 2 / 20

Udržitelný nárust výkonu výpočetní techniky Tvrzení o trvale udržitelném nárustu výkonu výpočetní techniky se přeneseně opírá o platnost Mooroveova zákona. Mooreův zákon Počet tranzistorů, které mohou být umístěny na integrovaný obvod se při zachování stejné ceny zhruba každých 18 měsíců zdvojnásobí. Je tento trend udržitelný i do budoucna? Lze pokračovat v miniaturizaci čipů a jejich základních komponent (tranzistorů)? Lze pokračovat v navyšování pracovní frekvence procesorů a má to vůbec smysl? 3 / 20

Proč nemusí Mooreoův zákon platit i nadále Prostorová omezení díky vlastnostem současných používaných materiálů Navyšování pracovní frekvence mikročipů je energeticky i technologický náročné Navyšování pracovní frekvence mikročipů může postrádat smysl, viz. argument rychlosti světla: rychlost světla je cca 30 cm/ns - signály v mikrochipu se šíří zlomkem této rychlosti, je-li velikost mikročipu cca 3 cm, můžeme říci, že informace nesená signálem na druhou stranu čipu po přímé cestě nemůže být transportována vícekrát než 10 10 za sekundu, redukcí vzdálenosti o násobky 10, či dokonce 100 se zvýší množství provedených operací zase jenom o tyto násobky, což je vzhledem k nárokům na danou minimalizaci zanedbatelný nárůst. 4 / 20

Jak udržet Mooreův zákon v platnosti? Využitím úplně nových netradičních konceptů kvantové počítače,... Paralelizací stávajících typů výpočetních systémů víc hlav víc ví... 5 / 20

Příklad paralelizace výpočetní úlohy Zadání: Nalezněte všechna prvočísla z množiny celých čísel N {0, 1,..., n}. Sekvenční (neparalelizované) řešení: 1 Mějme pole hodnot v rozsahu < 2, n > a proměnnou označující aktuální prvočíslo v poli a tu nastavme na první prvek pole. 2 Mějme proměnnou ukazující na právě zpracovávaný prvek pole; hodnotu toho ukazatele nastavme na druhou mocninu hodnoty aktuálního prvočísla. 3 Z pole odstraníme prvek o hodnotě uložené v ukazateli. 4 Z pole odstraníme všechny prvky o hodnotě uložené v ukazateli postupně navyšované o hodnotu aktuálního prvočísla až do n. 5 Jako aktuální prvočíslo nastavme další následující hodnotu uloženou v poli. 6 Pokračujeme v bodě 3. 6 / 20

Postup sekvenčního výpočtu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 2 2 3 5 7 9 11 13 15 17 3 2 3 5 7 11 13 17 Tabulka: Iterace algoritmu Eratosthenova síta nad vstupním polem P Aktuální prvočíslo 1, 2,, n Ukazatel na prvek Obrázek: Implementace algoritmu na sekvenčním výpočetním stroji 7 / 20

Paralelizaci na systému se sdílenou pamětí (implementace) P 1 Ukazatel na prvek P 2 Ukazatel na prvek P p Ukazatel na prvek SM 1, 2,, n Aktuální prvočíslo I/O zařízení Obrázek: Implementace algoritmu na paralelním SMP systému 8 / 20

Paralelizaci na systému se sdílenou pamětí (časové charakteristiky) (a) Výpočetní čas (b) Zrychlení Obrázek: Paralelní implementace Eratosthenova síta na SMP stroji 9 / 20

Paralelizaci na systému s distribuovanou pamětí (implementace) Aktuální prvočíslo Ukazatel na prvek Aktuální prvočíslo Ukazatel na prvek P 1 P 2 1, 2,, n/p n/p + 1, 2,, 2n/p Komunikace P p Aktuální prvočíslo Ukazatel na prvek n- n/p + 1, 2,, n Obrázek: Implementace algoritmu na paralelním MIMD stroji 10 / 20

Paralelizaci na systému s distribuovanou pamětí (časové charakteristiky) (a) Výpočetní čas (b) Zrychlení Obrázek: Paralelní implementace Eratosthenova síta na MIMD stroji 11 / 20

12 / 20

Typy paralelismu: Datový paralelismus Funkcionální paralelismus Instrukční fronty (Pipelining) Při hledání vhodného způsobu paralelizace algoritmu je žádoucí vytvořit tzv. graf datové závislosti: orientovaný graf uzly představují úlohy prováděné nad datovými instancemi hrany představují závislosti mezi těmito úlohami 13 / 20

Datový paralelismus Graf datové závislosti obsahuje nezávislé úlohy provádějící totožné operace nad různými instancemi dat. A x 0 x 1 x 2 B B B C Obrázek: Datový paralelismus 14 / 20

Funkcionální paralelismus Graf datové závislosti obsahuje nezávislé úlohy provádějící různé operace nad různými instancemi dat. A x 0 x 1 x 2 B C D E Obrázek: Funkcionální paralelismus 15 / 20

Instrukční fronty (pipelining) Graf datové závislosti obsahuje jednoduchou cestu nebo větev provádějící různé závislé operace nad jednou instancí dat. A x 0 x 1 x 2 x 3 B x 0 x 1 x 2 E x 0 x 1 Obrázek: Instrukční fronta (pipeline) 16 / 20

17 / 20

Fosterova metodika návrhu paralelního algoritmu Návrh paralelního algoritmu dle Fostera spočívá ve 4 krocích: 1 Rozložení - nalezení co největšího množství výpočetních úloh a datových instancí, které mohou být zpracovány souběžně. 2 Komunikace - nalezení komunikačních kanálů mezi rozloženými subjekty. 3 Aglomerace - sloučení rozložené výpočetní úlohy do větších logických výpočetních celků (minimalizace komunikační režie). 4 Mapování - přiřazení logických výpočetních celků k fyzickým výpočetním uzlům paralelního systému. 18 / 20

Fosterova metodika návrhu paralelního algoritmu Problém rozložení komunikace mapování aglomerace Obrázek: Fosterova metodika návrhu paralelního algoritmu 19 / 20

Děkuji za pozornost A to je pro dnešek vše. Nastává čas pro vaše dotazy... 20 / 20