Principles of Multiprocessor Systems

Course: CSL818
Semester II, 2013-14
Credits: 4 (3-0-2)



Instructor: Dr. Smruti R. Sarangi

Lectures
: Tue, Wed. 4:45-6:00. IIA-204 (Bharti Building)

Course Description: This course will give an introduction to designing and programming multicore systems.

Course Load: 1 Mid-term, 1 End-term, Minor 1(Written Assignment 1), Minor 2(Written Assignment 2),
                         Programming Assignment 3, 4, and 5

Teaching Assistants Pooja Aggarwal

Textbook: Art of Multiprocessor Programming, Maurice Herlihy and Nir Shavit, 1st Edition,  Elsevier

Date
Lecture
7th January
Course policies, Overview of the course
8th January
1) Mutual exclusion, producer-consumer queues, reader-writer locks
2) Mututal exclusion with SWMR (single writer multi reader) objects
3) Peterson's lock
4) Filter lock
15th Jan
1) Coherence axioms
2) Consistency -- definition (ordering + atomicity)
3) Sequential consistency and x86 memory model
4) Atomicity
21st Jan
1) Linearizability
2) Quiescent consistency
3) Java -- semantics of volatile and final
22nd Jan
1) Definition of safe, regular and atomic registers
2) SRSW (safe, Boolean) --> MRSW (safe, Boolean)
3) MRSW (safe, Boolean) --> MRSW (regular, Boolean)
28th Jan
1) MRSW(regular, Boolean) --> MRSW (regular, multi)
2) MRSW (regular) --> SRSW (atomic)
3) SRSW (atomic) --> MRSW (atomic)
4) MRSW(atomic) --> MRMW (atomic)
4th Feb
1) Atomic Snapshots (Lock-free and Wait-free)
2) Lock-free, wait-free, and obstruction free algorithms
5th Feb
1) Consensus numbesr
2) Test-and-set, atomic swap, fetch_and_add (Consensus number = 2)
3) Multi-writer object (Consensus number = n)
4) CAS and LL/SC