Vícejádrové systémy
Kód | Zakončení | Kredity | Rozsah | Jazyk výuky |
---|---|---|---|---|
MI-MCS | KZ | 4 | 1+2 | česky |
- 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. projekt ? 20 bodů
-2. projekt ? 60 bodů
-závěrečný test ? 20 bodů
- 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.Konzultace.
9.Konzultace. Kontrola stavu řešení 2. projektu.
10.Konzultace.
11.Konzultace.
12.Test, prezentace 2. projektu
13.Prezentace 2. 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:
-
Přednost mají studenti studenti magisterského oboru Počítačové systémy a sítě
- Další informace:
- Pro tento předmět se rozvrh nepřipravuje
- Předmět je součástí následujících studijních plánů: