COMP 409 Concurrent Programming

Description
Characteristics and utility of concurrent programs; formal methods for specification, verification and development of concurrent programs; communications, synchronization, resource allocation and management, coherency and integrity.
Credits
3.0
Computer Science

Lecture notes

Subject Semester

Wednesday, September 4, 2013

What is concurrency?

Fall 2013

Wednesday, September 11, 2013

Concurrent Hardware and Atomicity & Independence

Fall 2013

Monday, September 16, 2013

Atomicity and mutual exclusion

Fall 2013

Wednesday, September 18, 2013

Concurrency with Java and PThreads & Locks

Fall 2013

Monday, September 23, 2013

Mutual Exclusion algorithms and linearization

Fall 2013

Wednesday, September 25, 2013

Scheduling, race conditions and deadlocks

Fall 2013

Monday, September 30, 2013

Resource deadlocks and Expressiveness

Fall 2013

Wednesday, October 2, 2013

Semaphores and Monitors

Fall 2013

Wednesday, October 16, 2013

Semantics of condition variables, Java's implementation of locking and the Readers and Writers Problem

Fall 2013

Monday, October 21, 2013

Thread cancellation, barriers and priorities

Fall 2013

Wednesday, October 23, 2013

TSD and TLS, Java Concurrency utilities and Memory Consistency

Fall 2013

Wednesday, November 6, 2013

Elimination stack, General approach to a lock-free data structure and OpenMP

Fall 2013

Wednesday, October 30, 2013

Continuation of JMM, C/C++ Memory Model and Lock-free

Fall 2013

Monday, November 4, 2013

Finalization in the JMM, the ABA Problem and LL/SC

Fall 2013

Monday, October 28, 2013

Processor Consistency, the JMM and Happens-Before Consistency

Fall 2013

Wednesday, November 13, 2013

OpenMP memory model, Java OpenMP and Flynn's taxonomy

Fall 2013

Monday, November 18, 2013

PGAS languages and transactional programming

Fall 2013

Wednesday, November 20, 2013

Transactional Memory

Fall 2013

Monday, January 1, 2013

Transactional memory continued and Message passing

Fall 2013

Monday, November 25, 2013

Transactional memory continued and Message passing

Fall 2013

Wednesday, November 27, 2013

Process algebra and Graphical view

Fall 2013

Monday, December 2, 2013

Static dataflow

Fall 2013

Tuesday, December 3, 2013

Dynamic dataflow and Review

Fall 2013