Concurrency - Theory and Practise
General Information
Lectures:
Lecturer: | Prof. Dr. Peter Thiemann | |
Time and Place: |
Tue 14 - 16, Geb. 51, SR 00-006 Fri 14 - 15, Geb. 51, SR 00-006 |
Exercises:
Organization: | Luminous Fennell, Manuel Geffken | |
Exercise Sessions: | Fri 15 - 16, Geb. 51, SR 00-006 | |
Correction of Exercises and Feedback: | concurrency@informatik.uni-freiburg.de |
Organizational details: W01-Organization.pdf (updated 2014-10-24)
Lecture
The lecture is based on the following books.
- The Art of Multiprocessor Programming by Maurice Herlihy and Nir Shavit; and
- Java Concurrency in Practice by Tim Peierls, Joshua Bloch, Joseph Bowbeer, David Holmes and Doug Lea.
Topics
This course covers the topics from the following (non-exhaustive) selection:
- Basics of Mutual exclusion
- Formal Models of Concurrent Computations
- Correctness of Concurrent Computations
- Memory Models
- Concurrent data structures
- Scheduling and Work Distribution in Practise
- Message Passing Concurrency
- Session Types
Forum
For questions regarding lecture material or exercises, please use our forum. You can log in with your myLogin account (aka “Rechenzentrumsaccount”). If you have problems logging in, try to delete your cookies first.
Slides
Date | Topic | Mark |
---|---|---|
20141021 | Chapter 1 | AMP |
20141024 | Chapter 2 | AMP |
20141028 | Chapter 2 (cont'd) | AMP |
20141031 | JCiP Slides 1 | JCiP |
20141104 | Chapter 3 | AMP |
20141111 | Chapter 4 | AMP |
20141114, 20141118 | Chapter 5 | AMP |
20141121, 20141125 | Chapter 6 | AMP. Further material: Herlihy, Shavit. On the Nature of Progress. Principles of Distributed Systems, 2011. |
20141125, 20141128 | Slides | JCiP Chapters 1, 2 |
20141202 | Slides | JCiP Chapter 3 |
20141205 | Threads_and_Tasks | JCiP Chapter 14, Chapter 6 |
20141209 | Chapter 7 (part 1) | AMP |
20141212 | Chapter 7 (part 2) | AMP |
20141216 | Slides | AMP Chapter 8 |
20141216 | Chapter 9 | AMP |
20150109 | Chapter 9 continued | AMP |
20140113 | Chapter 10 & 11 | AMP |
20140116 | Chapter 11 continued | AMP |
20140120 | Chapter 16 | AMP |
20140123 | Chapter 16 continued | |
20140127 | Software Transactional Memory | Talk slides by Simon Peyton Jones |
20140130 | TinyTM from Chapter 18 (AMP) | |
20140203 | Message-passing concurrency | CSP, GoLang, CML, Pi-Calculus |
20140206 | Message-passing (continued) |
The slides marked (AMP) are derived from the original slides accompanying the book The Art of Multiprocessor Programming. They are adapted under the Creative Commons Attribution-ShareAlike 3.0 Unported license.
Exercises
Exercise sheet | Submission |
---|---|
ex00-quiz.pdf | N.A. |
ex1.pdf | 20141113 |
ex2.pdf | 20141127 |
ex3.pdf | 20141211 |
ex4.pdf | 20150108 |
ex5.pdf | 20150122 |
ex6.pdf | 20150205 |