Detail předmětu
Paralelní zpracování dat
FEKT-MPC-PZPAk. rok: 2025/2026
Paralelizace na CPU. Paralelizace na GPU (maticové operace, algoritmy hlubokého učení). Technologie Apache Spark, Hadoop, Kafka, Cassandra. Distribuované výpočty pro operace: transformace dat, agregace, klasifikace, regrese, shlukování dat, četné vzory, optimalizace. Streamování dat – základní operace, stavové operace, monitorování. Další technologie pro distribuované výpočty.
Jazyk výuky
Počet kreditů
Garant předmětu
Zajišťuje ústav
Pravidla hodnocení a ukončení předmětu
Vymezení kontrolované výuky a způsob jejího provádění stanoví každoročně aktualizovaná vyhláška garanta předmětu.
Učební cíle
Absolventi jsou schopni návrhu a implementace různých forem paralelních systémů pro řešení problémů při zpracování velkých objemů dat. Naučí se techniky pro paralelizaci programů na CPU a GPU a dále techniky pro distribuované výpočty. Zde budou absolventi ovládat technologie Apache Spark, Kafka, Cassaandra a naučí se provádět distribuované zpracování dat s využitím datových operací: transformace, agregace, klasifikace, regrese, shlukování dat, četné vzory.
Základní literatura
Doporučená literatura
Zařazení předmětu ve studijních plánech
- Program MPC-AUD magisterský navazující
specializace AUDM-TECH , 2 ročník, zimní semestr, povinně volitelný
- Program MPC-IBE magisterský navazující 1 ročník, zimní semestr, povinně volitelný
- Program MPC-KAM magisterský navazující 1 ročník, zimní semestr, povinně volitelný
- Program MPC-TIT magisterský navazující 2 ročník, zimní semestr, povinně volitelný
Typ (způsob) výuky
Přednáška
Vyučující / Lektor
Osnova
1. Úvod do paralelního zpracování dat.
2. Paralelní výpočty na CPU – návrh paralelních programů, vlákna, procesy, synchronizace.
3. Úvod do programování GPU – vlákna, bloky, mřížka, PyCUDA.
4. Paměť GPU – globální, sdílená; rychlost a velikosti.
5. Synchronizace na GPU – atomické operace, warpy.
6. Paralelní vzory na GPU – warp shuffles, asynchronní spuštění funkcí, paralelní redukce.
7. Operace s maticemi a “streams” na GPU – násobení matic, využití více GPU.
8. Úvod do Spark – Jobs, Stages, Tasks, DAG atd.
9. Pokročilé operace ve Spark – sdílené proměnné, partitioning, webové rozhraní, DataFrames.
10. Strojové učení ve Spark – statistika, extrakce příznaků, klasifikace, shluková analýza apod.
11. Streamování ve Spark – DStreams, SQL operace, MLlib.
12. Další paralelní technologie – Apache Kafka, Nvidia Jetson, TPU.
Cvičení na počítači
Vyučující / Lektor
Osnova
Cvičení na počítači jsou vedeny v jazyce Python a s využitím prostředí Google Colab.
1. Úvod do paralelního zpracování dat.
2. Paralelní výpočty na CPU – návrh paralelních programů, vlákna, procesy, synchronizace.
3. Úvod do programování GPU – vlákna, bloky, mřížka, PyCUDA.
4. Paměť GPU – globální, sdílená; rychlost a velikosti.
5. Synchronizace na GPU – atomické operace, warpy.
6. Paralelní vzory na GPU – warp shuffles, asynchronní spuštění funkcí, paralelní redukce.
7. Operace s maticemi a “streams” na GPU – násobení matic, využití více GPU.
8. Úvod do Spark – Jobs, Stages, Tasks, DAG atd.
9. Pokročilé operace ve Spark – sdílené proměnné, partitioning, webové rozhraní, DataFrames.
10. Strojové učení ve Spark – statistika, extrakce příznaků, klasifikace, shluková analýza apod.
11. Streamování ve Spark – DStreams, SQL operace, MLlib.
12. Další paralelní technologie – Apache Kafka, Nvidia Jetson, TPU.
Projekt
Vyučující / Lektor
Osnova