Concurrent Algorithms and Data Structures

5 credits

Course, Master's level, 1DL590

Autumn 2023 Autumn 2023, Uppsala, 33%, On-campus, English

Autumn 2023 Autumn 2023, Uppsala, 33%, On-campus, English For exchange students

Autumn 2024 Autumn 2024, Uppsala, 33%, On-campus, English

Autumn 2024 Autumn 2024, Uppsala, 33%, On-campus, English For exchange students

About the course

Most computer applications operate nowadays on concurrent platforms, e.g., multicore architectures, distributed databases, and geographically distributed servers. This means that all the algorithms and data structures that have over the years been designed for sequential programs must be extended to the concurrent setting. In this course, we study how this is done in the case of basic data structures such as sets, stacks, and queues. We will also study algorithms that manipulate such data structures as insertion, deletion, and membership checking. Furthermore, we will reason about the correctness and efficiency of these algorithms.

Concrete topics: concurrent programs, concurrent data structures, sets, stacks, queues, sequential consistency, linearisability, coarse-grained synchronisation, fine-grained synchronisation, optimistic algorithms, lazy algorithms, lock-free algorithms, the ABA problem, atomic operations.

No reading list found.

FOLLOW UPPSALA UNIVERSITY ON

facebook
instagram
twitter
youtube
linkedin