Logo ČVUT
ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE
STUDIJNÍ PLÁNY
2024/2025

Vícejádrové systémy

Předmět není vypsán Nerozvrhuje se
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ů:
Platnost dat k 19. 4. 2024
Aktualizace výše uvedených informací naleznete na adrese https://bilakniha.cvut.cz/cs/predmet2394906.html