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



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

Hlavní využití počítačů

Paralelní programování

Martin Lísal. Úvod do MPI

Paralelní programování

Zřízení studijního oboru HPC (High performance computing)

Blue Gene Vysoká škola báňská-technická univerzita Ostrava. Blue Gene. Karel Chrastina. Úvod. Blue Gene L. Blue Gene P.

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

Povídání na téma SUPERPOČÍTAČE DNES A ZÍTRA

PRINCIPY OPERAČNÍCH SYSTÉMŮ

4. Úvod do paralelismu, metody paralelizace

Povídání na téma. SUPERPOČÍTAČE DNES A ZÍTRA (aneb krátký náhled na SC) Filip Staněk

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

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

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

Teoretická informatika Tomáš Foltýnek Paralelní programování

Paralelní algoritmy --- Parallel Algorithms

Motivace. Software. Literatura a odkazy

Pokročilé architektury počítačů

Pokročilé architektury počítačů

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

Virtualizace koncových stanic Položka Požadováno Nabídka, konkrétní hodnota

Technické prostředky počítačové techniky

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

Příloha č.2 - Technická specifikace předmětu veřejné zakázky

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

Tvorba počítačových clusterů pomocí Linuxu. Vedoucí práce: Mgr. Jiří Pech, Ph.D. Katedra informatiky

PŘEDSTAVENÍ GRAFICKÉHO PROCESORU NVIDIA G200

SUPERPOČÍTAČE DANIEL LANGR ČVUT FIT / VZLÚ

Stavba operačního systému

Základní deska (mainboard, motherboard)

Organizace a zpracování dat I (NDBI007) RNDr. Michal Žemlička, Ph.D.

Volitelný počet jader

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

Ústav technické matematiky FS ( Ústav technické matematiky FS ) / 35

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

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

Návrhy elektromagnetických zení

Pokročilé architektury počítačů

Databázový systém Matylda

Nvidia CUDA Paralelní programování na GPU

AKCELERACE EVOLUCE PRAVIDEL CELULÁRNÍCH AUTOMATŮ NA GPU

REALIZACE SUPERPOČÍTAČE POMOCÍ GRAFICKÉ KARTY

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

Univerzita Pardubice Fakulta ekonomicko-správní. Vytvoření podpůrných nástrojů pro výuku předmětu Operační systémy. Michal Bělský

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)

Architektury paralelních počítačů I.

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

Závěrečná zpráva projektu Experimentální výpočetní grid pro numerickou lineární algebru

Vláknové programování část I

a co je operační systém?

Digitální učební materiál

Charakteristika dalších verzí procesorů v PC

PROCESOR. Typy procesorů

Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Bohuslava Čežíková.

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

Operační systémy. Tomáš Hudec.

Technická specifikace

Grid jako superpočítač

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

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

Technická specifikace vymezené části 1 SERVER

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

Úvod do OpenMP. Jiří Fürst

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Nasazení EIS JASU CS v rezortu Ministerstva zdravotnictví ČR vč. všech podřízených OSS

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

Data Sheet Fujitsu LIFEBOOK AH552/SL Notebook

Maturitní témata. Informační a komunikační technologie. Gymnázium, Střední odborná škola a Vyšší odborná škola Ledeč nad Sázavou.

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

Vnější paměti. Vnější paměti. Dělení podle materiálu a fyzikálních principů

Pokročilé architektury počítačů

Principy operačních systémů. Lekce 3: Virtualizace paměti

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY

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

Hardware. Z čeho se skládá počítač

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

VÝZVA A ZADÁVACÍ DOKUMENTACE

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

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

ELEKTRONICKÉ DATOVÉ NOSIČE

GPU A CUDA HISTORIE GPU CO JE GPGPU? NVIDIA CUDA

Principy činnosti sběrnic

Jedna z nejdůležitějších součástek počítače = mozek počítače, bez něhož není počítač schopen vykonávat žádné operace.

MULTIZNAČKOVÁ DIAGNOSTIKA INTELIGENTNÍ DIAGNOSTIKA

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

Architektura počítače

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY TECHNIKY PARALELNÍHO ZPRACOVÁNÍ VÝPOČTŮ

Kontrolní seznam projektu a systémové požadavky Xesar 3.0

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

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

Operační systémy. Přednáška 8: Správa paměti II

HAL3000 MČR Pro tak hrají skuteční profesionálové

Zadávací dokumentace

AGP - Accelerated Graphics Port

Klasifikace počítačů a technologické trendy Modifikace von Neumanova schématu pro PC

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

HW počítače co se nalézá uvnitř počítačové skříně

Transkript:

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

Sekce B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 2/25 Organizace kurzu

Organizace kurzu B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 3/25 Místo a čas pondělí 16:00-17:40, B007 Ukončení předmětu Závěrečný písemný test na odpřednášený obsah Možno získat několik bodů za nepovinné domácí úlohy Požadavky na úspěšné ukončení předmětu Z: bodové hodnocení testu nad 50% ZK: bodové hodnocení testu nad 50%(E), 60%(D), 70%(C), 80%(B), 90%(A)

Cíl kurzu IB109 B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 4/25 Cílem předmětu je seznámit studenty s Problematikou programování paralelních aplikací, Programátorskými prostředky pro vývoj paralelních aplikací, Možnostmi studia tématu na FI. Úspěšný absolvent kurzu Umí identifikovat paralelně proveditelné úlohy. Má základní přehled o problémech souvisejících s paralelizací. Nebojí se implementovat vlastní vícevláknové nebo jinak paralelní aplikace či systémy. Má představu o tom, co se děje v zákulisí použitých knihoven pro podporu programování paralelních aplikací. Umí tyto knihovny správně použít.

Organizace kurzu B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 5/25 Osnova: Úvod a motivace. Základní metody v návrhu paralelních algoritmů. Výkonnostní analýza paralelních algoritmů. Příklady paralelních řešení různých problémů. Paralelní algoritmy v prostředí s distribuovanou pamětí. Message Passing Interface (MPI). Paralelní algoritmy v prostředí se sdílenou pamětí. OpenMP, Intel TBB, POSIX Threads.

Předpoklady a kontext na FI B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 6/25 IB109 Kurz určený pro bakalářské studium Povinný v rámci oboru Paralelní a distribuované systémy Předpoklady Základní znalosti o fungování výpočetních prostředků a operačních systémů. Základní zkušenost s imperativním programováním sekvenčních algoritmů.

Kontext v rámci FI B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 7/25 Předměty PA150 Principy operačních systémů Vlákna, procesy, monitory, semafory, synchronizace. Hierarchie pamětí. IV100 Paralelní a distribuované výpočty Distribuované systémy a algoritmy. Komunikační protokoly. Směrovací algoritmy a tabulky. Distribuované algoritmy pro detekci ukončení, volbu vůdce, vzájemné vyloučení, hledání nejkratší cesty. Byzantská shoda. IV010 Komunikace a paralelismus Teoretický model paralelních procesů a komunikace. CCS. Synchronizace, vnitřní akce. Ekvivalence systémů pomocí slabé/silné bisimulace a relace kongruence.

Kontext v rámci FI pokr. B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 8/25 Předměty IA039 Architektura superpočítačů a intenzivní výpočty Procesory. Paralelní počítače. Překladače. MPI. PVM a koordinační jazyky. Profilování a měření výkonu. PV192 Paralelní algoritmy Paralelní zpracování, Klasifikace paralelních systémů, Úrovně paralelismu, Paralelní počítače, Systémy s distribuovanou pamětí, MPI P065 UNIX Programování a správa systému I Procesy a vlákna v UNIX. Meziprocesová a mezivláknová komunikace.

Kontext v rámci FI B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 9/25 Laboratoře IV074 Laboratoř paralelních a distribuovaných systémů PV177 Laboratoř pokročilých síťových technologií????? Laboratoř architektury a konstrukce číslicových počítačů Projekty IV112 Projekt z distribuovaných systémů (podzim)

Studijní materiály B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 10/25 Knihy A. Grama, A. Gupta, G. Karypis, V. Kumar: Introduction to Parallel Computing (second edition) G. R. Andrews: Foundations of Multithreaded, Parallel and Distributed Programming I. Foster: Designing and Building Parallel Programs W. Group, E. Lusk, A. Skjellum: Using MPI...

Studijní materiály B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 11/25 E-zdroje: http://www.wikipedia.org Kurzy a jejich studijní materiály na různých univerzitách http://www.cs.arizona.edu/people/greg/mpdbook (Foundations of Multithreded, Parallel, and Distributed Programming) http://renoir.csc.ncsu.edu/csc495a http://www.hlrs.de/organization/par/par prog ws Parallel Programing Workshop (MPI, OpenMP) Domovské stránky projektů MPI, TBB, OpenMP, BOOST,... Online tutoriály...

Sekce B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 12/25 Motivace

Paralelismus B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 13/25 Souběžnost Existence dvou a více procesů (v obecném smyslu slova) v jeden časový okamžik. Všudypřítomný a nevyhnutelný jev. Prakticky je nevyhnutelný i v Computer Science Fyzikální důvody. Vyšší výkon (např. GPU) Souběžnost je teoreticky zajímavá. Historicky možný kandidát na problém P=NP. Složitostní třída NC. Inherentně sekvenční problémy.

Proč by se o paralelismus měl zajímat řadový programátor? B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 14/25 Programátor chce zvýšit výkon své aplikace na paralelních platformách. Programátor chce oddělit nesouvisející části aplikace a realizovat je odděleně. Programátor chce řešit problém nezvládnutelný standardní sekvenční cestou.

Výpočetních platformy abstraktně IB109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 15/25 Abstraktní model výpočetního systému Procesor - Datová cesta - Paměť Všechny části systému mohou být úzkým místem vůči výkonnosti aplikace jako celku. Parallelismus je přirozený způsob překonání úzkých míst.

Procesory B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 16/25 Procesory Neustálá potřeba zvyšovat výkon. Výkon procesoru spojován s Moorovým zákonem. Moorův zákon Gordon Moore, spoluzakladatel Intelu Počet tranzistorů v procesoru se zdvojnásobí přibližně každých 18 měsíců. Metody zvyšování výkonu procesorů Zvyšování frekvence vnitřních hodin. Multiplicita, Paralelismus

Moore s Law B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 17/25

Moore s Law B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 18/25

Trend ve vývoji procesorů B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 19/25 Pozorování Řešení Výrobcům procesorů se nedaří zvyšovat výkon jednoho jádra. Fyzikální zákony brání neustálé miniaturizaci. v současnosti 45nm technologie (předchozí technologie 65nm) fyzikální limit je 5nm (nelze udržet elektrony v atomu) Vyrábí se vícejaderné procesory. Pravděpodobný způsob zvyšování výkonu i v budoucnosti. Související problém Sekvenční algoritmy nemohou nadále těžit z rostoucího výkonu procesorů. Paralelizace software je nevyhnutelný směr vývoje.

Datové cesty B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 20/25 Role paralelismu v komunikaci: Příklady Větší propustnost komunikačních linek Alternativní/záložní komunikační linky Snižování latence Urychlovače produkují data rychleji než je možné je doručit k výpočetním prostředkům a zpracovat je, dokonce rychleji, než je možné je sekvenčně uložit. P2P sítě řeší problém asymetrie down/up rychlostí a zátěže exponovaných uzlů

Paměť B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 21/25 Fakta: Výkon procesorů převyšuje výkon jiných komponent Cesta procesor paměť disk je zdlouhavá Kaskády cache pamětí, souběžné uložení informace na více místech Cache paměť obecně: Kopie části dat v rychleji dostupném místě Může a nemusí být kontrolovatelná uživatelem nebo OS Příklady Cache s různou možností kontroly Operační paměť jako cache pro přístup na disk Proces virtualizace paměti L1/L2 cache v rámci CPU

Použití mnoha paměťových modulů B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 22/25 Více modulů znamená Větší množství uložitelných/zapamatovatelných informací Větší množství linek do paměti (větší propustnost) Režie na udržení konzistence Příklady Disková pole RAID 1, RAID 5 I/O efficient algoritmy Algoritmy, které obcházejí virtualizaci paměti kontrolovanou OS, a místo toho realizují vlastní způsob použití operační paměti jako cache pro data na disku. Řadová PC SSD disky pro operační systém a swapovací prostor

Vývoj paralelních systémů je náročnější Důvody: Nutnost specifikace souběžných úkolů a jejich koordinace. Paralelní algoritmy. Nedostačující vývojová prostředí. Nedeterminismus při simulaci paralelních aplikací. Absence reálného modelu paralelního počítače. Rychlý vývoj a zastarávání použitých technologií. Výkon aplikace náchylný na změny v konfiguraci systémů.... Příklad Momentálně je doporučován pro hry 2-jádrový procesor, proč ne 4-jádrový, když je zcela určitě výkonnější? Je obtížné napsat herní engine, který by fungoval dobře na 1-jádrovém stroji a na 4-jádrovém stroji běžel 4x rychleji. B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 23/25

HPC B109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 24/25 HPC (High Performance Computing) Oblast Computer Science Výpočty na vysoce paralelních platformách Nejrychlejší počítač světa dle (www.top500.org) BlueGene/L Processors: 131072 Main Memory: 32768 GB Year: 2005 Vendor: IBM GFLOPS: 280600 (ve špičce 367000) 280 bilionů FLOPS

Nejrychlejší počítač světa dle (www.top500.org) IB109 Návrh a implementace paralelních systémů: Organizace kurzu a úvod str. 25/25