|
2G1506: Programming with Processes
|
|
| Date | Time | Place | Activity |
Content | Readings (textbook, WWW) |
OH (PDF) |
|---|---|---|---|---|---|---|
| Week 36. Processes
and synchronization. Semantics of concurrent execution. |
||||||
| Tue. 2/9 |
10-12 | C2 | L1 | Introduction. Parallel programming concepts, models and paradigms. |
Ch.1 |
lec01.pdf lec01_4.pdf |
| 13-15 |
C1 |
L2 |
Processes and synchronization. Assign PR: Programming project |
2.1-2.5 |
lec02.pdf lec02_4.pdf |
|
| Thu. 4/9 |
13-15 | C1 |
L3 | Introduction to axiomatic semantics of concurrent programs with shared variables. Assign HW1: Processes and synchronization |
2.6-2.8 |
lec03.pdf lec03_4.pdf |
| Week 37. Shared memory
programming / Locks. Barriers Condition variables. Pthreads |
||||||
| Tue. 9/9 |
10-12 | C2 | L4 |
Critical sections. Locks.Condition variables. |
3.1-3.3, 5.1.2 |
lec04.pdf lec04_4.pdf |
| 13-15 | C1 | L5 | Barriers. Flags. Data parallel algorithms. Bag of tasks. |
3.4-3.6 | lec05.pdf lec05_4.pdf |
|
| Thu. 11/9 |
13-15 | C1 | L6 |
Case study: Introduction to Pthreads. Assign HW2: CS. Locks, barriers, condition variables. |
4.6, 5.5 A Threads White Paper Threads API Manual Pthreads links Pthreads for Win32 |
lec06.pdf lec06_4.pdf |
| Week 38. Shared memory
programming / Semaphores. Monitors and condition variables |
||||||
| Tue. 16/9 | 10-12 | C1 | L7 | Semaphores: binary, split binary, general |
4.1-4.2 |
lec07.pdf lec07_4.pdf |
| 13-15 | C1 | L8 | Semaphores (cont'd):
dining philosophers, readers/writers, "passing the baton". Semaphores in Pthreads. |
4.3-4.5 |
lec08.pdf lec08_4.pdf |
|
| Thu. 18/9 |
13-15 | C1 | L9 | Monitors and condition variables Assign HW3: Semaphores |
5.1-5.3 |
lec09.pdf lec09_4.pdf |
| Week 39. Shared memory programming
/ Monitors. Multithreading in Java. Java monitors |
||||||
| Tue. 23/9 |
10-12 | 5 | L10 | Monitors (cont'd). Case study: Multithreading in Java. Java monitors |
5.1-5.4 |
lec10.pdf lec10_4.pdf Java_threads.pdf Java_threads_4.pdf |
| 13-15 | C1 | L11 |
Implementations: SP and MP kernels | Ch.6
|
lec11.pdf lec11_4.pdf |
|
| Thu. 25/9 | 13-15 | C1 | L12 | Distributed programming with message passing. Assign HW4: Monitors. |
7.1-7.5 |
lec12.pdf lec12_4.pdf |
| Week 40. Distributed memory
programming / Message passing. Java sockets. MPI. RPC, RMI. |
||||||
| Tue. 30/9 |
10-12 | C1 | L13 | Case
studies: CSP, Linda. Case study: Java socket API |
7.5-7-7 7.9, Custom Networking |
lec13.pdf lec13_4.pdf |
| 13-15 | C1 | L14 |
Case study: Introduction
to MPI |
7.8 |
lec14.pdf lec14_4.pdf |
|
| Thu. 2/10 |
13-15 | C1 | L15 |
RPC and rendezvous. RMI. Case study: Java RMI |
8.1-8.4, 8.5 Java RMI Java RMI Tutorials |
lec15.pdf lec15_4.pdf |
| 15-17 |
C1 |
L16 |
Paradigms
for process interactions. Assign HW5: Distributed programming |
Ch.9 |
lec16.pdf lec16_4.pdf |
|
| Week 41. Distributed memory
programming / Paradigms for process interactions. Parallel scientific computing |
||||||
| Tue. 7/10 |
10-12 |
C1 |
L17 |
Parallelism in scientific computing. Summary of the course. |
Ch.11 |
lec17.pdf lec17_4.pdf summary_exam.pdf summary_exam_4.pdf |
| 13-15 |
C1 |
L18 | LECS/IMIT/KTH (OdinMP / Intone EU project on OpenMP) |
OdinMP Intone |
OpenMP.pdf OpenMP_4.pdf |
|