Inhalt des Dokuments
News, forums, slides and other resources are available on the module's ISIS-page . Please register yourself using the module's registration form  in ISIS.
Informatik (MSc): Mandatory course in module
Parallel Systems 
Technische Informatik (MSc): Mandatory course in module Parallel Systems 
integrated course will give an introduction to parallel programming.
It will be discussed, how parallel machines can be modeled and how
parallel algorithms can be designed. Based on the two paradigms of
parallel programming, message passing and shared memory, basic
parallel algorithms are presented. Practical training will be provided
by programming assignments using MPI, OpenMP and/or OpenCL on
different parallel architectures.
After finishing this course students should:
- understand the fundamental difference between shared memory and message passing programming models,
- know the primitives and control structures of parallel programming environments and how to use them,
- be able to design and implement parallel algorithms.
- Programming models for parallel computing
- Fundamental parallel algorithms
- Concepts of MPI, OpenMP, OpenCL
- Properties of parallel architectures
- Introduction to the cluster management software CCS
- Quinn, M.: Parallel programming in C with MPI and OpenMP. Mgraw-Hill, 2003.
- Rauber, Th., Rünger, G.: Parallele Programmierung, 2. Aufl. Springer, 2007.
- Mattson, T.; Sanders, B.; Massingill, B.: Patterns for Parallel Programming. Addison-Wesley, 2004.
- Herlihy, M.; Shavit, N.: The art of multiprocessor programming. Morgan Kaufmann, 2008.
- Andrews, G. A.: Foundations of Multithreaded, Parallel and Distributed Programming. Addison-Wesley, 2000.
- Jaja, J.: An introduction to parallel algorithms. Addison-Wesley, 1992.
The course consists of two meetings per week. One meeting (Tuesday, 10-12) is a mix of lecturing, introduction of assignments and discussion of results. The other meeting (Wednesday, 10-12) is in the computer lab to solve the programming assignments with some guidance and supervision.
examination of the module (together with Cluster Computing).
Successful completion of assignments is a prerequisite.
Bachelor in Computer Science or related; basic knowledge in computer architecture, operating systems, algorithms and data structures; C programming.