PV192 Parallel Technical Systems

Faculty of Informatics
Spring 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
Abstract
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.
Key topics
  • 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.
Study resources and 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
Approaches, practices, and methods used in teaching
Lectures, reading of recommended literature, solving and programming assignments.
Method of verifying learning outcomes and course completion requirements
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.
The course is also listed under the following terms Spring 2008, Spring 2009, Spring 2011, Spring 2012, Spring 2013, Spring 2014, Spring 2015.
  • Enrolment Statistics (Spring 2010, recent)
  • Permalink: https://is.muni.cz/course/fi/spring2010/PV192