460-2028/04 – Parallel and Distributed Systems (PDS)

Gurantor departmentDepartment of Computer ScienceCredits4
Subject guarantordoc. Ing. Pavel Krömer, Ph.D.Subject version guarantordoc. Ing. Pavel Krömer, Ph.D.
Study levelundergraduate or graduateRequirementOptional
Study languageEnglish
Year of introduction2019/2020Year of cancellation
Intended for the facultiesFEIIntended for study typesBachelor
Instruction secured by
LoginNameTuitorTeacher giving lectures
KRO080 doc. Ing. Pavel Krömer, Ph.D.
Extent of instruction for forms of study
Form of studyWay of compl.Extent
Full-time Graded credit 2+2

Subject aims expressed by acquired skills and competences

The objective of the course is to provide the students with a survey in parallel and distributed architectures, to teach them basic methods of problem decomposition, to master selected techniques necessary for the development of parallel applications and to get acquainted with the current technologies for the design of applications based on distributed objects.

Teaching methods

Individual consultations
Project work
Other activities


The course provides basic orientation in the field of parallel and distributed systems. Both the multiprocessor architectures and the distributed computing frameworks are introduced, together with techniques of their utilization from the programmer's perspective. Moreover the subject gives an overview of modern object-oriented distributed systems, their applications and interoperatibility, and it introduces the latest trends in the field of parallel and distributed systems.

Compulsory literature:

Foster, I.: Designing and Building Parallel Programs. Addisson-Wesley, 1995 Colouris, G., Dollimore, J., Kindberg, T.: Distributed Systems. Addison-Wesley, 2005

Recommended literature:

Wilkinson, B., Allen, M.: Parallel Programming. Prentice Hall, 1999 Hughes, C., Hughes, T.: Parallel and Distributed Programming Using C++. Addison-Wesley, 2004 Object Management Group: The Common Object Request Broker: Architecture and Specification. Object Management Group (http://www.omg.org)

Way of continuous check of knowledge in the course of semester

Průběžná kontrola studia: Příklady řešení průběžně na cvičeních Podmínky udělení zápočtu: Včasné odevzdání semestrálního projektu.


Other requirements

No additional requirements are placed on the student.


Subject has no prerequisities.


Subject has no co-requisities.

Subject syllabus:

1. Introduction into parallel and distributed computing. Parallelism and pseudoparallelism, processes, threads. 2. Classification of parallel and distributed systems. Flynn's taxonomy. Shared and distributed memory systems. 3. Programming for shared memory systems. OpenMP, C++11, Cilk Plus, Thread Building Blocks. 4. Other up-to-date parallel processing models for shared memory systems. Programming languages Go, Rust. Parallelism in Python. 5. Distributed memory systems. Interconnect networks and their properties. 6. Message passing interface (MPI). Point-2-point and collective communication. 7. Task/channel model of parallel computing. Message queues, Message Oriented Middleware (MOM). Posix queues. 8. Distributed shared memory, Partitioned Global Address Space (PGAS) model. Programming languages Unified Parallel C (UPC) and UPC++. 9. Parallel Matlab and R. Language for distributed computing Julia. 10. General purpose graphic cards for parallelization/acceleration of computing. 11. Cloud computing. Map-Reduce model and frameworks Hadoop, Spark, and Flink. 12. Web services and their use for distributed computing. Remote procedure call. Architectural style Representational State Transfer (REST). 13. TensorFlow and its use. Application framework Caffe2. 14. Parallel and distributed methods for Big Data processing.

Conditions for subject completion

Full-time form (validity from: 2019/2020 Winter semester)
Task nameType of taskMax. number of points
(act. for subtasks)
Min. number of points
Graded credit Graded credit 100  51
Mandatory attendence parzicipation: Every student has to obtain at least the minimum number of points for each task.

Show history

Occurrence in study plans

Academic yearProgrammeField of studySpec.ZaměřeníFormStudy language Tut. centreYearWSType of duty
2021/2022 (B0613A140010) Computer Science P English Ostrava 3 Optional study plan
2021/2022 (B0541A170009) Computational and Applied Mathematics P English Ostrava 3 Optional study plan
2021/2022 (B2647) Information and Communication Technology (2612R025) Computer Science and Technology P English Ostrava 3 Optional study plan
2020/2021 (B0613A140010) Computer Science P English Ostrava 3 Optional study plan
2020/2021 (B0541A170009) Computational and Applied Mathematics P English Ostrava 3 Optional study plan
2019/2020 (B0613A140010) Computer Science P English Ostrava 3 Optional study plan
2019/2020 (B0541A170009) Computational and Applied Mathematics P English Ostrava 3 Optional study plan

Occurrence in special blocks

Block nameAcademic yearForm of studyStudy language YearWSType of blockBlock owner