If you want to submit exercises, write an email to Lukas with your full name, matriculation number, and your student email address.

The first exercise sheet will be published in the second week and discussed in the third week. The first tutorial is on the 28th of October.

Parallel (and Distributed) Algorithms (WS 2026/2027)

Lectures

Prof. Dr. Ulrich Meyer

Tue, 10:00 - 12:00, in SR 307 Thu, 10:00 - 12:00, in SR 307

Tutorials

Lukas Geis

Wed, 14:00 - 16:00, in SR 307 (can be changed by mutual agreement)

Language

The lecture is held in English. By mutual agreement, the primary language can be changed to German, too.

You can solve the assignments in German or in English.

Content

We shortly survey existing concepts of parallel computers (e.g., multicomputer clusters, shared-memory CPUs, and GPUs), and introduce theoretical abstractions of these machines. We start by analysing algorithms for multicomputers consisting of several independent compute nodes interconnected by a network. Based on the observation that practical algorithms for these machines typically seek to minimize communication costs, we discuss and quantify the impact of various network topologies. Subsequently, we develop and analyse distributed communication primitives and algorithms for classical problems, such as sorting.

We then switch to algorithms for multiprocessor architectures which are formally expressed by the PRAM model. This part emphasizes algorithms for linked lists and trees, search-, distribution-, and sorting problems and topics of graph theory. Throughout the lecture, we will analyze not only upper-bounds (leading to efficiency guarantees), but also consider lower-bounds: These include minimal costs for communication in certain topologies, the comparison of various PRAM variants, and the introduction of P-completeness to gain insight into the parallelizability of problems. Literature

  • A. Grama, A. Gupta, G. Karypis und V. Kumar: Introduction to Parallel Computing, second edition, Addison-Wesley 2003.
  • M. J. Quinn: Parallel Computing in C with MPI and OpenMP, McGraw-Hill, 2004.
  • J. JáJá: An Introduction to Parallel Algorithms, Addison-Wesley, 1992.
  • R.M. Karp und V. Ramachandran, Parallel algorithms for shared memory machines, in J van Leeuven (Ed.): Handbook of Theoretical Computer Science A, Kapitel 17, pp. 869-941, ElsevierScience Publishers, 1990.
  • P-completeness: R. Greenlaw, H.J. Hoover und W.L. Ruzzo: Limits to Parallel Computation, Oxford University Press, 1995.

Materials

Lecture notes

Some resources which might be useful

Lectures

DateNotesTopics
13 Oct 2026Notes 01Introduction, Oh-Notation, Architecture
15 Oct 2026Notes 02Oh-Notation, Basics, Prefix Problems
20 Oct 2026Notes 03Prefix Problem Algorithms
22 Oct 2026Notes 04Grids: Bisection, Parallel Sorting, OETS
27 Oct 2026Notes 050/1-Principle, Shearsort

Assignments

DownloadDueComments
Sheet 0127.10.2026 10:00 
Sheet 0203.11.2026 10:00