SubjectsSubjects(version: 978)
Course, academic year 2025/2026
  
Distributed Data Processing - M445015
Title: Distribuované zpracování dat
Guaranteed by: Department of Mathematics, Informatics and Cybernetics (446)
Faculty: Faculty of Chemical Engineering
Actual: from 2021
Semester: winter
Points: winter s.:4
E-Credits: winter s.:4
Examination process: winter s.:
Hours per week, examination: winter s.:2/2, MC [HT]
Capacity: unlimited / unlimited (unknown)
Min. number of students: unlimited
Qualifications:  
State of the course: taught
Language: Czech
Teaching methods: full-time
Level:  
Additional information: http://moodle.vscht.cz/course/view.php?id=116
Note: course can be enrolled in outside the study plan
enabled for web enrollment
Guarantor: Cejnar Pavel RNDr. Mgr. Ph.D.
Interchangeability : N445073
Examination dates   Schedule   
Annotation -
The course covers the basics of parallel programming and distributed processing of computationally intensive tasks and procedures. The aim of the course is to analyze the process communication and time complexity of process subtasks with respect to design the procedures with optimized parallel performance. Implementation of the studied methods is predominantly in programming languages JAVA and MATLAB.
Last update: Cejnar Pavel (12.09.2021)
Course completion requirements -

To complete the course, student must successfully pass an exam test covering the student's practical skills and pass the oral exam covering the theoretical knowledge. The final mark is determined by the points for attendance (max. 40 p, in selected cases can be replaced by the test), from the exam test (max. 30 p) and from the oral exam (max 30 p).

Last update: Švihlík Jan (26.04.2018)
Literature -

Obligatory:

  • Tvrdík, Pavel. Parallel algorithms and computing. Praha: Vydavatelství ČVUT, 2009, 200 s. ISBN 978-80-01-04333-2.

Recommended:

  • Tim Peierls, Brian Goetz, Joshua Bloch, Joseph Bowbeer, Doug Lea, David Holmes. Java Concurrency in Practice. Upper Saddle River, U.S.A.: Pearson Education, 2006, 432 s. ISBN 978-0-13-270225-6.
  • Koubková, Alena, Pavelka, Jan. Úvod do teoretické informatiky. Praha: Matfyzpress, 2005, 123 s. ISBN 80-86732-52-5.
  • Herout, Pavel. Učebnice jazyka Java. České Budějovice: Kopp, 2011, 386 s. ISBN 978-80-7232-398-2.
  • Matoušek, Jiří, Nešetřil, Jaroslav. Kapitoly z diskrétní matematiky. Praha: Nakladatelství Karolinum, 2022, 448 s. ISBN 978-80-246-5084-5.
  • Dvořák, Václav. Architektura a programování paralelních systémů. Brno: VUTIUM, 2004, vii, 165 s. s. ISBN 80-214-2608-X.

Last update: Cejnar Pavel (26.06.2025)
Teaching methods -

Lectures and courses.

Last update: Pátková Vlasta (20.04.2018)
Syllabus -

1. Distributed and parallel data processing, parallelization on multicore computer processors. Software optimization of computer procedures.

2. Simple synchronization operations, blocking synchronization primitives.

3. Model problems in synchronization. Synchronization support in programming language.

4. Asymptotic time and space complexity for parallel algorithms. PRAM parallel computation model.

5. Recursive procedures and their parallelization. Parallel matrix multiplication.

6. Parallel sort algorithms.

7. Parallel prefix sum algorithm and its applications (parallel addition, RadixSort, SPPS).

8. Parallelization of graph algorithms and linear algebra algorithms.

9. Distributed data processing and communications. Remote procedure call.

10. Current hardware architectures for parallel data computation.

11. CASE STUDY: Distributed and parallel data processing in MATLAB.

12. CASE STUDY: Distributed and parallel data processing in Python, C++, and using GPU.

13. Advanced parallelization techniques. Distributed and parallel processing optimization.

Last update: Cejnar Pavel (04.09.2023)
Learning resources -
  • electronic materials are available at http://moodle.vscht.cz/course/view.php?id=116 (in Czech language)

  • Java SE API Documentation, http://java.sun.com >> http://www.oracle.com/technetwork/java/index.html

  • electronic help and documentation for MATLAB Parallel Computing Toolbox, MATLAB Distributed Computing Server

Last update: Pátková Vlasta (20.04.2018)
Learning outcomes -

Students will be able to:

  • Distinguish whether it is easy to make given task or procedure parallel.

  • Design effective parallel procedures.

  • Propose other possible acceleration of calculations for tasks with hard parallelization.

Last update: Pátková Vlasta (20.04.2018)
Registration requirements -
  • Mathematics I or any equivalent subject

  • one subject in the topic of computer programming in any object oriented language (JAVA, Python, C++, MATLAB)
Last update: Cejnar Pavel (09.06.2023)
Teaching methods
Activity Credits Hours
Konzultace s vyučujícími 0.1 2
Účast na přednáškách 1 28
Práce na individuálním projektu 0.5 14
Příprava na zkoušku a její absolvování 1.4 40
Účast na seminářích 1 28
4 / 4 112 / 112
 
VŠCHT Praha