342.295, KV Parallel Computing, Armin Biere / Wolfgang Schreiner, 2021S
Topic outline
-
342.295, Time: Tuesday, 8:30-11:00, Start: March 9, 2021
This course introduces basic techniques and models for parallel computing. We will discuss the basic theory, algorithms, programming models, and design principles for building parallel programs on multi-core processors, shared memory multiprocessors, and distributed memory multiprocessors respectively cluster systems. Class presentation will be accompanied by hands-on experience, e.g. on an SGI UV-1000 distributed shared memory multiprocessor.
Background in programming in C/C++ and Java is assumed. Course grades will be based on practical programming assignments.
The course will be given via Zoom meetings respectively video recordings, see the links below.
We have to use two Zoom meetings depending on the lecturer (you can not host two meetings in parallel).
-
The (preliminary) course schedule is as follows:
- March 9 (Schreiner): Parallel Architectures and Performance.
- March 16 (Biere): Parallel Algorithms and Complexity.
- March 23 (Schreiner): Concurrency in Java and OpenMP.
- April 13 (Biere): Shared Memory Programming, Lockless Data Structures.
- April 20 (Biere): Shared Memory Programming with Cilk, Lace, Work Stealing
- April 27 (Schreiner): Presentations of Solutions 1.
- May 11 (Schreiner): Message Passing Programming with MPI.
- May 18 (Biere): Shared Memory Programming with PThreads.
- June 1 (Biere): Presentation of Solutions 2.
- June 8 (Schreiner): Designing Parallel Programs.
- June 15 (Schreiner): Presentations of Solutions 3.
- June 29 (Biere): Presentation of Solutions 4.
Individual meetings may be organized for discussing the assignments.
-
-
Zoom recording of first and second part:
https://jku.zoom.us/rec/share/ISbN2huO6WkPnCH2uf1fGmtXABVy8xOOMx5QXIm2F6PVnbNNnc3G5SYWnyJKZOGB.4j93u-i6ci2LebVp
Passcode: 8+S$gjU+
The Zoom Video has actually two parts (called 'recordings'). The first is about the motivational slides.
Press the "|>" button to go to the more technical part (which starts with the discussion of 'work' and 'span').The third part had to be recorded locally and is available on YouTube:
https://youtu.be/ZLoYUKSl5b4 -
Zoom Recording 13. April 2021 (Intro, Sequential Consistency, TSO Example)
https://jku.zoom.us/rec/share/fpHGmNro4tmfjn4ahJK101eZRayb-Gceo7-cvHfY9RYkVJeqyub9ni23VtrFe4SO.K8SW-Q4IOt0mS_q-
Passcode: 289^C?bZZoom Recording 20. April 2021 (Linearizability, Wait-Free, Lock-Free, CAS, Treiber Stack, ABA, Tagged Pointers)
https://jku.zoom.us/rec/share/fpHGmNro4tmfjn4ahJK101eZRayb-Gceo7-cvHfY9RYkVJeqyub9ni23VtrFe4SO.K8SW-Q4IOt0mS_q-
Passcode: 6pa*7o$X -
There might be a more up-to-date version available here:
https://mirrors.edge.kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html
-
We will hand out four assignments that have to be worked out individually. At least three assignments have to be turned in and graded positively to pass the course. Submitters may be asked for presentations of their solutions; be prepared to give at least one such presentation.