in beta · early-access plekken vrij
Home/Vakken/Parallel and Concurrent Programming
CS45605 ECTSQ3EngelsMaster

Parallel and Concurrent Programming

FaculteitElektrotechniek, Wiskunde en Informatica
NiveauMaster
Studiejaar2025-2026

Beschrijving

Software systems are becoming highly concurrent and parallel to utilize modern multicore architectures and increasing speed and bandwidth in networks. In the multicore era, all performance-critical software employs some form of concurrent programming; typically shared memory concurrency. In this setting, parallelism and concurrency are the dominant programming paradigms for performance gains. Writing correct and efficient parallel and concurrent programs is challenging, and requires understanding the behaviors of the primitives and reason about them. This course aims to explore parallel and concurrent programming approaches along with their analysis techniques.

This course aims to give students a deep understanding and hands-on experience of parallel and concurrent programming and analyzing them.

Lecture plan

In this course, we will cover three parts: parallelism, concurrency, and automated analysis techniques for concurrency.

Parallelism can bring significant performance improvement as multiple independent components execute in parallel and thereby achieve (almost) linear speedup to the number of processing units.

In the second part, we will focus on concurrent programs. Concurrency is another paradigm for efficiently programming shared memory hardware. In concurrency, multiple threads execute independently with occasional communication via the shared memory. However, concurrent programs demonstrate many subtle complexities and thereby developing correct and optimal concurrency programs is a challenging problem.

In the third part we will focus on the automated analysis approaches for concurrency. We will focus on concurrency bugs and analysis techniques for various properties such as data race, consistency checking, and so on.

Outline of Lectures:

Parallelism (3 lectures):

Parallel programming

Automatic parallelization

Dependency analysis

Concurrency (5 lectures):

Concurrent programming

Correctness of concurrent programs

Relaxed memory concurrency

Automated analysis techniques (2 lectures):

Property checking e.g. data race, consistency

Reviews0 reviews

Nog geen reviews voor dit vak. Wees de eerste!

Heb jij dit vak gevolgd?

Deel je ervaring met toekomstige studenten. Inloggen met je TU Delft mailadres duurt één minuut.

Schrijf een review