Course detail
Parallel Data Processing
FEKT-MKC-PZPAcad. year: 2025/2026
Parallelization using CPU. Parallelization using GPU (matrix operations, deep learning algorithms). Technologies: Apache Spark, Hadoop, Kafka, Cassandra. Distributed computations for operations: data transformation, aggregation, classification, regression, clustering, frequent patterns, optimization. Data streaming – basic operations, state operations, monitoring. Further technologies for distributed computations.
Language of instruction
Number of ECTS credits
Mode of study
Guarantor
Department
Entry knowledge
Rules for evaluation and completion of the course
The content and forms of instruction in the evaluated course are specified by a regulation issued by the lecturer responsible for the course and updated for every academic year.
Aims
Students have skills of design and implementation of various forms of parallel systems to solve big data challenge. They will learn techniques for the parallelization of computations using CPU and GPU and further they will learn techniques for distributed computations. Students will control technologies Apache Spark, Kafka, Cassandra to solve distributed data processing with using data operations: data transformations, aggregation, classification, regression, clustering, frequent patterns.
Study aids
Prerequisites and corequisites
Basic literature
Recommended reading
Classification of course in study plans
- Programme MPC-TIT Master's 2 year of study, winter semester, compulsory-optional
Type of course unit
Lecture
Teacher / Lecturer
Syllabus
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.
Exercise in computer lab
Teacher / Lecturer
Syllabus
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.
Project
Teacher / Lecturer
Syllabus