CS-5510: Multiprocessor Programming
Description: Principle and practice of multiprocessor programming. Illustration of multiprocessor programming principles through the classical mutual exclusion problem, correctness properties of concurrency (e.g., linearizability), shared memory properties (e.g. register constructions), and synchronization primitives for implementing concurrent data structures (e.g., consensus protocols). Illustration of multiprocessor programming practice through programming patterns such as spin locks, monitor locks, the work-stealing paradigm and barriers. Discussion of concurrent data structures (e.g., concurrent linked lists, queues, stacks, hash maps, skiplists) through synchronization patterns ranging from coarse-grained locking to fine-grained locking to lock-free structures atomic synchronization primitives, elimination, and transactional memory.
Pathways: N/A
Course Hours: 3 credits
Sections Taught: 10
Average GPA: 3.55 (A-)
Strict A Rate (No A-) : 50.91%
Average Withdrawal Rate: 0.00%
Binoy Ravindran | 2022 | 62.5% | 32.5% | 0.0% | 0.0% | 5.0% | 0.0% | 3.46 | 4 |
Chao Wang | 2012 | 77.8% | 11.1% | 11.1% | 0.0% | 0.0% | 0.0% | 3.60 | 1 |
Dongyoon Lee | 2017 | 56.2% | 43.7% | 0.0% | 0.0% | 0.0% | 0.0% | 3.62 | 3 |
Dimitrios S Nikolopoulos | 2023 | 82.3% | 12.7% | 0.0% | 0.0% | 5.0% | 0.0% | 3.62 | 2 |