Lecture: Parallel (and Distributed) Algorithms 1 (PAL1, PDA1)

Lecture: Parallel (and Distributed) Algorithms 2 (PAL2, PDA2)

PAL12, M-APVS-12-K, M-APVS-12-A, M-APVS-12-B, PDA1+PDA2

These two lectures are each worth 5 credits (2 hours lecture and 1 hours tutorial per week).

The lectures on 10th and 11th of December take place as usual; there will be no tutorial on the 12th Dec. Note that exercise 6.4 to 6.8 are counted towards PAL2 and may require some ideas covered during the lectures of 10th and 11th.


Prof. Dr. Ulrich Meyer
Tue, 12:00 - 14:00, H 9 (Hörsaaltrakt)
Wed, 10:00 - 12:00, Magnus Hörsaal (R-M-S 11-15)


Hung Tran
Manuel Penschuck

Thu, 14:00 - 16:00
SR 307 (R-M-S 11-15)


The lecture is held in English.


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.



Materials (including lecture notes and assignments) for students are here.