Skip navigation

Contents

Acrobats

Spaghetti Code
by George W. Hart, 2004

All lectures notes are available here. It is expected that you do attend all lectures and make your own notes. An essential part of the learning process is the formation of your notes, and the comparison of your notes with the lecture slides. The provided sound track consists of trimmed takes of the lectures - they are meant as an additional option for repetition and do by no means replace the actual lectures. Also keep in mind that some parts of the lectures might not be recorded (interactive programming sessions, discussing student code, ...).

The material is constantly reviewed and refined - so it is best to download the version which you want to use for learning, after the corresponding lectures. Also: taking your own notes from scratch instead of annotating lecture notes is always the more effective learning method.

Any usage of the material supplied below (outside the scope of this course) requires explicit permission by the course organizers.

Disclaimer for any material appearing before the lecture: consider all material as a pre-view only - until a few hours after the lecture, when the exact material used in the actual lecture appears here. So check back frequently if you want to see the latest pre-views, and load after the lectures for the final versions.

 
Chapters
Lecture slides:
pdf document (pdf)
Lecture recordings:
 Movie  Video (mp4)  -  Audio  Soundtrack only (mp3)

 

 

Complete set of slides:

(will become available towards the end of the course)

 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16

 

               
 

 

Slides & recordings by chapter:

 
 

Organization & contents

 

 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
(27. 7.)
Movie  Audio
50'
               
 

0.

Language refresher/introduction pre-course

  • Ada
  • Chapel
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I
(27. 7.)

Movie  Audio
45'
II
(31. 7.)

Movie  Audio
1:32'
III
(3. 8.)

Movie  Audio
1:29'
IV
(7. 8.)

Movie  Audio
55'
         
 

1.

Concurrency - The basic concepts

  • Forms
  • Models
  • Processes & Threads
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I
(7. 8.)

Movie  Audio
30'
II
(10. 8.)

Movie  Audio
1:30'
             
 

2.

Mutual Exclusion

  • Pedestrian (Atomic variables)
  • Hardware supported (e.g. Test-and-set)
  • Bare metal (Semaphores)
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
(14. 8.)
Movie  Audio
1:30'
               
 

3.

Communication & Synchronization

  • Shared memory based
  • Message passing based
  • Data parallel operations
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
I
(17. 8.)

Movie  Audio
1:30'
II
(28. 8.)

Movie  Audio
1:31'
III
(31 8.)

Movie  Audio
1:31'
IV
(4 9.)

Movie  Audio
35'
         
      Live programming (Pipelined Insertsort) I
(21. 8.)

Movie  Audio
1:40'
II
(24 .8.)

Movie  Audio
1:34'
             
      Live programming (Multicast) (4. 9.)
Movie  Audio
57'
               
 

4.

Nondeterminism

  • Correctness under nondeterminism
  • Nondeterministic message reception
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16

I

(21. 9.)
Movie  Audio
54'

II

(25. 9.)
Movie  Audio
18'

             
      Live programming (Mergesort) (21. 9.)
Movie  Audio
32'
     
 

5.

Data Parallelism (Implicit Concurrency)

  • Vector programming
  • Implicit concurrency
  • Concurrent reductions
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16

(25. 9.)
Movie  Audio
54'

               
      Live programming (Data Parallelism) (9. 10.)
Movie  Audio
33'
               
 

6.

Scheduling

  • Why
  • What does it in your machine
  • Basic methods
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16
(2. 10.)
Movie  Audio
1:21'
               
 

7.

Safety and Liveness

  • Essential safety and liveness properties (look lively)
  • Livelocks and Deadlocks (and how not to)
  • Failure modes
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16

I

(9. 10.)
Movie  Audio
55'

II

(12. 10.)
Movie  Audio
1:24'

             
 

8.

Distributed Systems

  • Networks
  • Time in distributed systems
  • Communication in distributed systems
  • Distributed safety and liveness
  • Redundancy
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16

I

(16. 10.)
Movie  Audio
1:26'

II

(19. 10.)
Movie  Audio
1:28'

III

(23. 10.)
Movie  Audio
1:26'

IV

(26. 10.)
Movie  Audio
1:01'

         
 

9.

Architectures

  • Concurrent Hardware
  • Concurrent programming languages concepts
 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16

I

(26. 10.)
Movie  Audio
22'

II

(30. 10.)
Movie  Audio
1:26'

             
 

10.

Summary

 
      pdf document
1:1
pdf document
1:4
pdf document
1:9
pdf document
1:16

(30. 10.)
Movie  Audio
16'

               
     
     
       
                               

 

Updated:   Sunday 8 November, 2020 11:21 / Responsible Officer:   JavaScript must be enabled to display this email address. / Page Contact:   Course Webmaster