The schedule is tentative and may change.
Date Lecture Papers
Oct 22

Introduction
Overview
Administrative details
Taste of topics

The Implementation of the Cilk-5 Multithreaded Language

Idempotent Work Stealing

Laws of Order: Synchronization in Concurrent Algorithms

Fence-Free Work Stealing on Bounded TSO Processors

Oct 29

Reasoning about concurrency (linearizability)

Linearizability: A Correctness Condition for Concurrent Objects

A Lazy Concurrent List-Based Set Algorithm

Nov 5

Cache coherence

A Primer on Memory Consistency and Cache Coherence (Chapters 2, 6-8)

Nov 12

Serializing efficiently
Spin locks and local spinning
Delegation
Lock-free synchronization and CAS failures

Algorithms for scalable synchronization on shared-memory multiprocessors

Flat Combining and the Synchronization-Parallelism Tradeof

OpLog: a library for scaling update-heavy data structures

Fast concurrent queues for x86 processors

Nov 19

Memory consistency models (hardware)

A Primer on Memory Consistency and Cache Coherence (Chapters 3-5)

WeeFence: Toward Making Fences Free in TSO

Nov 26

Memory consistency models (programming language)

Dec 3

Safe memory reclamation

Dec 10

Transactional memory (1/2)

Dec 24

Transactional memory (2/2)

Dec 31

Concurrent search trees

Jan 7

Ordered parallelism and relaxed data structures (1/2)

Jan 14

Ordered parallelism and relaxed data structures (2/2)

Jan 21

How to do sound experimental research