"Parallel Processing (Parallelverarbeitung)" (Lecture
+ Lab) Winter 2025/26
- Contents: Basics of parallel computer architecture, principles and practice of parallel programming, with focus on OpenMP and MPI
- Prerequisites in terms of content: Algorithms
and Data Structures, Object oriented and functional Programming,
Operating Systems and Concurrent Programming
- Details: Module description in unisono (mostly in German), description in English (page 26)
- Examination: written electronic exam (60 minutes, in German or in English)
- Link to further information in unisono (date/time etc.): Lecture, Lab
- Link to the moodle course.
Announcements
09.10.2025 | If you are interested in shaping the digital future, join the Digital Future Challenge! | ||
29.09.2025 | The next exam will presumably take place in the last week of February 2026. Exam duration will be 60 minutes. It will be an open book exam, i.e., you are allowed to use printed materials like lecture slides, scripts, books, own notes, etc., but no electronic devices or communication means. You also will get a PDF Dodument with the most important OpenMP pragmas and MPI routines. The exam will be conducted electronically using the Q-Exam system. The computers (laptops) will be provided by the university. To get acquainted with the system, please have a look at the demo exams (select the exam named "Demo-Prüfung Parallelverarbeitung") and the screen casts provided in the moodle course! If you have questions or problems, please contact the e-assessment support team (e-klausuren@uni-siegen.de). You can also ask questions immediately before the exam starts. Please notice that the laptops provide a German keyboard. The '#' is located left of the 'Enter' key, '{', '}', '[', and ']' can be entered by pressing the 'AltGr' key (right of the 'Space' key) together with '7', '8', '9', or '0'. The 'Ctrl' key is named 'Strg'. Please acquaint yoursef with that layout! See here for an accurate image or here for an interactive simulation (which actually differes slightly from the laptop keyboards). | ||
29.09.2025 | The practical programming exercises should be done preferably in the lab H-A 4111. You can/should prepare them at home, using a computer with Linux operating system. However, most exercises can also be done in a Windows environment. You can find some technical information about this here. If you want to install the Scalasca performance analysis tool on your Linux computer, you can use this script which contains all the necessary commands. Please be sure to also look at the documentation. | ||
29.09.2025 | IMPORTANT: In order to
pass this module, you must submit practical exercises. You MUST
register for the corresponding study achievement in unisono before you submit the first exercise ("4INFMA024-S - Studienleistung Parallelverarbeitung", see this screen dump). You must do this in this semester even
if you want to take the exam in a later semester! In order to pass the study achievement, you must get at least 12 of the maximum possible 16 points. |
||
29.09.2025 | As you should be able to present the solutions of the lab exercises in the lab room H-A 4111, you can apply for a key card in order to access the room at any time. You can find the application form here. Note that our usage regulations apply when you use the lab computers! | ||
|
29.09.2025 | |
Start of the lecture: Tuesday, 14.10.2025 (this is the assigned lab hour, but we will do the lecture!) |
Course Materials
- Complete set of slides (date: 29.09.25
): original
size, 2
on 1
- Slides for individual chapters (updated during the semester):
0. Organisation 29.09.25
original size
1. Repetition / Foundations 29.09.25
original size 2 on 1 code 2. Basics or Parallel Processing 29.09.25
original size 2 on 1
3. Parallel Programming with Shared Memory 29.09.25
original size 2 on 1 code 4. Parallel Programming with Message Passing 29.09.25
original size 2 on 1 code 5. Optimisation Techniques 29.09.25
original size 2 on 1 code 6. Summary / Important Topics
29.09.25
original size 2 on 1 - The slides in original size also include all animations, the 2 on 1 versions include additional notes and explanations.
Exercises
Solutions for compulsory exercises must be submitted via the moodle course.No. | Date of issue | Deadline | Max. Points | Discussion | Exercise sheet/code | Partial Solution | |
1 | 20.10. | 11.11., 10:00 | 2 | 11.11. | | |
|
2 | 10.11. | 25.11., 10:00 | 2 | 25.11. | | |
|
3 | 17.11. | 02.12., 10:00 | 2 | 02.12. | | |
|
4 | 24.11. | 09.12., 10:00 | 2 | 09.12. | | |
|
5 | 01.12. | 13.01., 10:00 | 3 | 13.01. | | |
|
6 | 08.12. | - | - | 20.01. | | |
|
7 | 12.01. | 27.01., 10:00 | 2 | 27.01. | | |
|
8 | 19.01. | 03.02., 10:00 | 3 | 03.02. | | |
General Literature
- A. Grama, A. Gupta, G. Karypis, V. Kumar: Introduction to Parallel Computing, 2. ed., Pearson Education, 2003.
- Barry Wilkinson, Michael Allen: Parallel Programming, internat. ed., 2. ed., Pearson Education international, 2005.
- R. Trobec, B. Slivnik, P. Bulic, B. Robic: Introduction to Parallel Computing. Springer, 2018.
- Thomas Rauber, Gudula Rünger: Parallele und verteilte Programmierung. Springer, 2000.
- Theo Ungerer: Parallelrechner und parallele Programmierung, Spektrum, Akad. Verl., 1997.
- Ian Foster: Designing and Building Parallel Programs, Addison-Wesley, 1995.
- Seyed Roosta: Parallel Processing and Parallel Algorithms, Springer, 2000.
- Rainer Oechsle: Parallele Programmierung mit Java Threads, Fachbuchverlag Leipzig, 2001.
- S. Hoffmann, R.Lienhart: OpenMP, Springer, 2008.
- W. Gropp, E. Lusk, A. Skjellum: Using MPI, MIT Press, 1994.
- Michael Wolfe: Optimizing Supercompilers for Supercomputers, MIT Press, 1989.