Předmět je základní jednotka výuky, jejímž prostřednictvím si student osvojí ucelenou část souboru znalostí a dovedností, potřebnou pro zvládnutí studijního oboru/specializace. Za věcný obsah předmětu zodpovídá garant předmětu. Časovou náročnost předmětu zhruba vyjadřuje atribut předmětu rozsah kontaktní výuky. Například rozsah = 2+2 značí, že předmět bude mít týdně dvě hodiny přednášek a dvě hodiny cvičení týdně. Na závěr semestru musí vyučující provést vyhodnocení, nakolik si ten který student osvojil poznatky a dovednosti, kterých měl během výuky nabýt. Jakým způsobem toto hodnocení vyučující provedou určuje atribut způsob zakončení. U předmětu lze definovat, že předmět je zakončen pouze zápočtem(Z), klasifikovaným zápočtem(KZ), pouze zkouškou(ZK), nebo zápočtem a zkouškou(Z,ZK). Náročnost úspěšného absolvování předmětu je vyjádřena ECTS kreditními body. Výuka předmětu probíhá během semestru. Opakovaně se předmět vyučuje vždy v zimním(Z), nebo v letním(L) semestru každého akademického roku. Výjimečně může předmět být nabízen studentům v obou semestrech(Z,L). Za organizační zajištění výuky zodpovídá přiřazená katedra, která zejména vytvoří časový rozvrh předmětu a zajistí pro předmět vyučující. Někteří přednáší a zkouší, jiní vedou cvičení a udělují zápočty.
Obsahová náplň a další organizační informace, týkající se předmětu je popsána pomocí různých popisných textů(anotace, týdenní osnova, literatura, apod.)
$DODATEK_POPIS
MI-MCS | Vícejádrové systémy | Rozsah kontaktní výuky: | 1P+2C | ||
---|---|---|---|---|---|
Vyučující: | Způsob zakončení: | KZ | |||
Zodpovědná katedra: | 18104 | ECTS Kredity: | 4 | Semestr: | Z |
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.
Osnovy 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. |
Osnovy 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 |
Literatura:
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 |
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é. |
|
Předmět je zahrnut do těchto studijních plánů:
Stránka vytvořena 24. 4. 2024, semestry: L/2020-1, L/2019-20, L/2023-4, Z,L/2022-3, L/2021-2, Z/2019-20, Z/2024-5, Z/2023-4, Z/2020-1, Z/2021-2, připomínky k informační náplni zasílejte správci studijních plánů | Návrh a realizace: J. Novák, I. Halaška |