Course pages 2019–20
Concurrent and Distributed Systems
Concurrency
Lectures
- Lecture 1: Slides PDF.
- Lecture 2: Slides PDF
Erratum: I mentioned in the lecture that the slide which shows two possible successors to a state for the bothways-coupled FSM product looked wrong, but this indeed arises owing to non-determinism intrinsic to asynchronous product. Also, the half-coupled asynchronous product plot was corrected in Jan 2020.
- Lecture 3: Slides PDF.
- Lecture 4: Slides PDF.
Erratum: Ignore the assignment of initial values to condition variables since that makes no sense to me.
- Lecture 5: Slides PDF.
Errata: The slide said to change the order of signals to avoid philosopher deadlock, but I have changed this to the order of waits.
Also I have now changed some the slide titles in Lecture 5 since I found them a bit misleading when I delivered the lecture.
Also, slide 9, the green box at the bottom right corrected from T3 to T2. - Lecture 6: Slides PDF.
Note: I have added two new FSM diagrams showing synchronous and asynchronous message passing.
- Lecture 7: Slides PDF.
Erratum: The slide labelled 'strict' has been relabelled 'stricter'. See comment in the Learners' Guide.
- Lecture 8: Slides PDF.
Primary Resources
- Learners' Guide: LINK (edited after each lecture).
- Preliminary Exercises: Sheet 0.
- Main Exercise Sheets: Sheet 1 Sheet 2.
- Useful article on Java Concurrency Primitives: LINK.
- Robert Watson's Java Concurrency Exercises: LINK.
- Supervisors' Guide: See supervisors' area.
- CBMC Model checker example demo: LINK (updated as we go).
Advanced Resources
For those with greater interest:
- Detailed example of interrupt service routine: sp1-socparts.
- Are SSD disk writes really atomic?.
- Sources for real-world implementation of pthreads and condition variables condition variables.
- Deadlock detection in AND-OR wait-for graphs: link missing.
- Multicore CPUs without shared memory and with message passing hardware are marketed by companies such as XMOS.
- Free BSD WITNESS: LINK.
Distributed Systems
Lectures
- Lecture 9 slides (PDF)
- Lecture 10 slides (PDF)
- Lecture 11 slides (PDF)
- Lecture 12 slides (PDF)
- Lecture 13 slides (PDF)
- Lectures 14–16 are unfortunately cancelled due to strike. See this flyer and this video for more information. If you want to see the material skipped this year, you can find it in last year's slides.
Supervisions
Last year’s course materials are still available.