Vícejádrové systémy
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
MI-MCS | KZ | 4 | 1P+2C | česky |
- Garant předmětu:
- Přednášející:
- Cvičící:
- Předmět zajišťuje:
- katedra počítačových systémů
- Anotace:
-
Studenti porozumí architekturám systémů založených na vícejádrových procesorech s podporou zpracování více vláken, strukturu a použití hierarchie pamětí cache se sdílenou poslední úrovní. Získají přehled o klasifikaci paralelních algoritmů a programovacích technik, naučí se používat simulační a nástroje a monitorovací prostředky pro měření a optimalizaci paralelních algoritmů. Po absolvování předmětu budou studenti schopni navrhovat programy typu MTMD (Multiple Threads Multiple Data), měřit a analyzovat latenci a propustnost algoritmů a optimalizovat je pro nasazení na současných architekturách.
- Požadavky:
-
1. programování v asembleru, C/C++ nebo C#,
2. přehled OS Linux/Windows a počítačových sítí,
3. absolvování BI-EIA, MI-PAP a MI-PAR jsou výhodou, nejsou ale striktně nutné.
- Osnova přednášek:
-
1.Víceprocesorové systémy, vícejádrové procesory, vícevláknová jádra, hierarchie pamětí cache v multijádrových procesorech, cache coherency protokoly.
2.Synchronizační primitiva a zajištění konzistence dat v multiprocesorových systémech, paměťové modely.
3.Základní vzory paralelního zpracování typu MTMD, použité datové struktury a algoritmy a jejich chování a optimalizace na vícejádrových systémech s vícestupňovou hierarchií cache (cache conscious programming).
4.Metody měření a simulace paralelních algoritmů/programů.
5.Vlastnosti paralelních metod: deadlock-free, starvation-free, lock-free, wait-free.
6.Vliv operačního systému na běh paralelních programů a jeho eliminace. Kritická cesta výpočtu a její optimalizace.
- Osnova cvičení:
-
1. Měření základních vlastností hierarchie cache procesorů Intel.
2. Simulace jednoduchých paralelních algoritmů.
3. Zadání dvou samostatných projektů typu měření/simulace ? ověření/optimalizace algoritmů.
4. Konzultace.
5. Konzultace. Kontrola stavu řešení 1. projektu.
6. Konzultace.
7. Prezentace 1. projektu
8. 8. Konzultace. Zadání sponzorského projektu.
9. Konzultace. Kontrola stavu řešení 2. projektu.
10. Konzultace.
11. Konzultace.
12. Prezentace 2. projektu
13. Prezentace výsledků sponzorského projektu
- Cíle studia:
-
Programovací a optimalizační techniky vhodné pro efektivní běh programů na architekturách systémů založených na vícejádrových procesorech se sdílenou pamětí cache.
-Architektury vícejádrových procesorů a víceprocesorových systémů,
-organizace hierarchií pamětí cache,
-datové struktury a algoritmy typu MTMD vhodné pro vícejádrové systémy s vícestupňovou hierarchií cache (cache conscious programming),
-jazykové konstrukce podporující cache conscious programming,
-ověřování algoritmů simulací,
-měření na reálných systémech.
- Studijní materiály:
-
1.Maurice Herlihy, Nir Shavit: The Art of Multiprocessor Programming.
2.Rauber, Thomas and Rünger, Gudula: Parallel Programming Models, Springer, 2010
3.David A. Patterson, John L. Hennessy: Computer Organization and Design: The Hardware/Software Interface, Fourth Edition
4.Ricardo Bianchini, Enrique V. Carrera and Leonidas Kontothanassis: Evaluating the Effect of Coherence Protocols on the Performance of Parallel Programming Constructs, 1998
5.Ricardo Bianchini, Leonidas Kontothanassis: Algorithms for Categorizing Multiprocessor Communication Under Invalidate and Update-Based Coherence Protocols, 1995
6.Bryan R. Buck,Jeffrey K. Hollingsworth: Using Hardware Performance Monitors to Isolate Memory Bottlenecks, 2000
- Poznámka:
-
Informace o předmětu a výukové materiály naleznete na https://moodle-vyuka.cvut.cz/course/view.php?id=2024
- Další informace:
- https://moodle-vyuka.cvut.cz/course/view.php?id=2024
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů:
-
- Mgr. obor Znalostní inženýrství, 2016-2017 (volitelný předmět)
- Mgr. obor Počítačová bezpečnost, 2016-2019 (volitelný předmět)
- Mgr. obor Počítačové systémy a sítě, 2016-2019 (volitelný předmět)
- Mgr. obor Návrh a programování vestavných systémů, 2016-2019 (volitelný předmět)
- Mgr. obor Webové a softwarové inženýrství, zaměření Informační systémy a management, 2016-2019 (volitelný předmět)
- Mgr. obor Webové a softwarové inženýrství, zaměření Softwarové inženýrství, 2016-2019 (volitelný předmět)
- Mgr. obor Webové a softwarové inženýrství, zaměření Webové inženýrství, 2016-2019 (volitelný předmět)
- Mgr. program Informatika, pro fázi studia bez oboru, 2016-2019 (volitelný předmět)
- Mgr. obor Systémové programování, zaměření Systémové programování, 2016-2019 (volitelný předmět)
- Mgr. obor Systémové programování, zaměření Teoretická informatika, 2016-2017 (volitelný předmět)
- Mgr. specializace Teoretická informatika, 2018-2019 (volitelný předmět)
- Mgr. obor Znalostní inženýrství, 2018-2019 (volitelný předmět)