PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2015
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- doc. RNDr. Aleš Horák, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Timetable
- Mon 16. 2. 8:00–14:50 A219, Tue 7. 4. 14:00–15:50 A319, Tue 14. 4. 14:00–15:50 A319, Tue 21. 4. 14:00–15:50 A319, Tue 28. 4. 14:00–15:50 A319, Tue 5. 5. 14:00–15:50 A319, Tue 12. 5. 14:00–15:50 A319
- Prerequisites
- IB109 Design of Parallel Systems
Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 29 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
The course is taught once in two years.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2014
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- prof. Ing. Václav Přenosil, CSc.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Timetable
- Tue 14:00–15:50 G123
- Prerequisites
- Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 29 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
The course is taught annually.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2013
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- prof. Ing. Václav Přenosil, CSc.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Timetable
- Fri 12:00–13:50 C511
- Prerequisites
- Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 29 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
The course is taught annually.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2012
- Extent and Intensity
- 2/0. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- prof. Ing. Václav Přenosil, CSc.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Timetable
- Tue 10:00–11:50 C511
- Prerequisites
- Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 35 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementability perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
The course is taught annually.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2011
- Extent and Intensity
- 2/0. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- prof. Ing. Václav Přenosil, CSc.
Department of Machine Learning and Data Processing – Faculty of Informatics - Timetable
- Thu 16:00–17:50 C511
- Prerequisites
- Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 33 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementability perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
The course is taught annually.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2010
- Extent and Intensity
- 2/0. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- prof. Ing. Václav Přenosil, CSc. (lecturer)
doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer) - Guaranteed by
- prof. Ing. Václav Přenosil, CSc.
Department of Machine Learning and Data Processing – Faculty of Informatics - Timetable
- Thu 16:00–17:50 C416
- Prerequisites
- Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 33 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementability perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
The course is taught annually.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2009
- Extent and Intensity
- 2/0. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- prof. Ing. Václav Přenosil, CSc. (lecturer)
- Guaranteed by
- prof. Ing. Václav Přenosil, CSc.
Department of Machine Learning and Data Processing – Faculty of Informatics - Timetable
- Tue 16:00–17:50 B202
- Prerequisites
- Courses PA174 - Design of Digital Computersis II, PA176 - Digital Computers Architecture II and PB161 - C++ Programming are advisable source of necessary knowledges for current course.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 37 fields of study the course is directly associated with, display
- Course objectives
- Main aim of this courese is understand and master theoretical knowledges necessary for design of the parallel digital system. The lessons are specialized in particular into following topics:
mechanism of the parallel data and event processing;
cooperation of the computing activities and threads;
data exchenge;
synchronization of the activities. - Syllabus
- Parallel processing mechanism;
- parallel systems classification;
- levels of parallelism;
- typology of the parallel computers;
- distributed memory systems;
- introduction to the Message Passing Interface;
- fundamentals of the Message Passing Interface;
- parallel programmes design.
- Literature
- Foster, I.: Designing and Building Parallel Programs. Addisson-Wesley, 1995.
- Geist, A. et al: PVM: Parallel Virtual Machine - A Users' Guide and Tutorial for Networked Parallel
- Bull, M.: Writing Parallel Programs Using OpenMP, Version 1.2. EPCC, University of Edinburgh,
- MacDonald, N.: Writing Message-Passing Parallel Programs with MPI. Course Notes. EPCC, University of Edinburgh, 1998
- Assessment methods
- Final examination consist from 2 parts:
1) defence of the project - homemade task;
2) oral exam - teoretical problems from list of the passed subjects. - Language of instruction
- Czech
- Follow-Up Courses
- Further comments (probably available only in Czech)
- The course is taught annually.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2008
- Extent and Intensity
- 2/0. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- prof. Ing. Václav Přenosil, CSc. (lecturer)
- Guaranteed by
- prof. Ing. Václav Přenosil, CSc.
Department of Machine Learning and Data Processing – Faculty of Informatics - Timetable
- Tue 12:00–13:50 B007
- Prerequisites
- Non sequece - introduction of the study branche.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 37 fields of study the course is directly associated with, display
- Course objectives
- Parallel processing, cooperative calculations, data exchenge, synchronization of the activities, classification of the parallel systems
- Syllabus
- Parallel processing mechanism Parallel systems classification Levels of parallelism Typology of the parallel computers Distributed memory systems Fundamentals of the Message Passing Interface Parallel programmes design
- Literature
- Bull, M.: Writing Parallel Programs Using OpenMP, Version 1.2. EPCC, University of Edinburgh,
- Geist, A. et al: PVM: Parallel Virtual Machine - A Users' Guide and Tutorial for Networked Parallel
- Foster, I.: Designing and Building Parallel Programs. Addisson-Wesley, 1995.
- MacDonald, N.: Writing Message-Passing Parallel Programs with MPI. Course Notes. EPCC, University of Edinburgh, 1998
- Assessment methods (in Czech)
- Zkouška se skládá ze dvou částí: 1) příklad - návrh komunikačního interfajsu, 2) ústní odpověď na teoretickou otázku z přehledu témat ke zkoušce.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- Study Materials
The course is taught annually.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2024
The course is not taught in Spring 2024
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- doc. RNDr. Petr Holub, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Prerequisites
- IB109 Design of Parallel Systems
Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 67 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2023
The course is not taught in Spring 2023
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- doc. RNDr. Petr Holub, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Prerequisites
- IB109 Design of Parallel Systems
Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 67 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2022
The course is not taught in Spring 2022
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- doc. RNDr. Petr Holub, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Prerequisites
- IB109 Design of Parallel Systems
Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 67 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2021
The course is not taught in Spring 2021
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- doc. RNDr. Petr Holub, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Prerequisites
- IB109 Design of Parallel Systems
Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 67 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2020
The course is not taught in Spring 2020
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- doc. RNDr. Petr Holub, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Prerequisites
- IB109 Design of Parallel Systems
Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 67 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2019
The course is not taught in Spring 2019
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- doc. RNDr. Aleš Horák, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Prerequisites
- IB109 Design of Parallel Systems
Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 30 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2018
The course is not taught in Spring 2018
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- doc. RNDr. Aleš Horák, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Prerequisites
- IB109 Design of Parallel Systems
Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 30 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2017
The course is not taught in Spring 2017
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- doc. RNDr. Aleš Horák, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Prerequisites
- IB109 Design of Parallel Systems
Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 30 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
PV192 Parallel Technical Systems
Faculty of InformaticsSpring 2016
The course is not taught in Spring 2016
- Extent and Intensity
- 2/0/2. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- doc. RNDr. Petr Holub, Ph.D. (lecturer)
RNDr. Lukáš Hejtmánek, Ph.D. (lecturer)
prof. Ing. Václav Přenosil, CSc. (alternate examiner) - Guaranteed by
- doc. RNDr. Aleš Horák, Ph.D.
Department of Machine Learning and Data Processing – Faculty of Informatics
Supplier department: Department of Machine Learning and Data Processing – Faculty of Informatics - Prerequisites
- IB109 Design of Parallel Systems
Knowledge of C (level of PB071 course) and Java (level of PB162 course) programming is assumed. Furthermore, knowledge of UNIX operating systems at the advanced user level is expected. - Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 30 fields of study the course is directly associated with, display
- Course objectives
- At the end of the course students should be able to: understand principles of threaded programming including various synchronization mechanisms; create and debug parallel programs using shared memory; analyze parallel algorithms from the shared-memory implementation perspective.
- Syllabus
- Multi-threaded environments, shared-memory architecture. Reasons for parallelization
- Processes and synchronization, race conditions
- Threads in C language, their creation and termination
- Threads in Java language, their creation and termination
- Debugging parallel applications
- Visibility and synchronization of operations. Signaling among objects
- Mutexes, semaphores, monitors. Advanced types of synchronization constructs, atomic types, non-blocking structures
- Thread pools and Futures
- Principles and applications of OpenMP
- Basic design patterns of multi-threaded applications. Data structures suitable for utilization in parallel algorithms
- Introduction to real-time applications
- Support for parallel programming in other programming languages.
- Literature
- recommended literature
- GOETZ, Brian and Tim PEIERLS. Java concurrency in practice. Upper Saddle River, NJ: Addison-Wesley, 2006, xx, 403. ISBN 0321349601. info
- BEN-ARI, Mordechai. Principles of concurrent and distributed programming. 2. ed. Harlow: Addison-Wesley, 2006, xv, 361. ISBN 032131283X. info
- ANDREWS, Gregory R. Foundations of multithreaded, parallel, and distributed programming. Reading: Addison-Wesley, 2000, xx, 664 s. ISBN 0-201-35752-6. info
- Teaching methods
- Lectures, reading of recommended literature, solving and programming assignments.
- Assessment methods
- Scores for assignment solutions: 40%. Oral exam after all the lectures: 60%. In order to pass successfully, scores for working solution and oral exam must not be 0.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
PV192 Paralel algorithms
Faculty of InformaticsSpring 2007
The course is not taught in Spring 2007
- Extent and Intensity
- 2/0. 4 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- Teacher(s)
- prof. Ing. Václav Přenosil, CSc. (lecturer)
- Guaranteed by
- prof. Ing. Václav Přenosil, CSc.
Department of Machine Learning and Data Processing – Faculty of Informatics - Prerequisites
- Non sequece - introduction of the study branche.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- Applied Informatics (programme FI, B-AP)
- Informatics (programme FI, B-IN)
- Course objectives
- Parallel processing, cooperative calculations, data exchenge, synchronization of the activities, classification of the parallel systems
- Syllabus
- Parallel processing mechanism Parallel systems classification Levels of parallelism Typology of the parallel computers Distributed memory systems Fundamentals of the Message Passing Interface Parallel programmes design
- Literature
- Bull, M.: Writing Parallel Programs Using OpenMP, Version 1.2. EPCC, University of Edinburgh,
- Geist, A. et al: PVM: Parallel Virtual Machine - A Users' Guide and Tutorial for Networked Parallel
- Foster, I.: Designing and Building Parallel Programs. Addisson-Wesley, 1995.
- MacDonald, N.: Writing Message-Passing Parallel Programs with MPI. Course Notes. EPCC, University of Edinburgh, 1998
- Assessment methods (in Czech)
- Zkouška se skládá ze dvou částí: 1) příklad - návrh komunikačního interfajsu, 2) ústní odpověď na teoretickou otázku z přehledu témat ke zkoušce.
- Language of instruction
- Czech
- Further comments (probably available only in Czech)
- The course is taught annually.
The course is taught: every week.
- Enrolment Statistics (recent)