FI:PV192 Parallel Technical Systems - Course Information
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.
- Enrolment Statistics (Spring 2012, recent)
- Permalink: https://is.muni.cz/course/fi/spring2012/PV192