KTH

2G1506: Programming with Processes
(Programmering med processer)
2003/2004 (period 1)

IT University in Kista

 Tentative Course Layout and Lecture Notes

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 Guest lecture on OpenMP by Sven Karlsson
LECS/IMIT/KTH
(OdinMP / Intone EU project on OpenMP)
OdinMP
Intone
OpenMP.pdf
OpenMP_4.pdf

Last updated: October 07, 2003
pps-adm@it.kth.se