Introduces the theory and practice of multicore programming. The first part of the course presents foundations of concurrent programming: mutual exclusion, wait-free and lock-free synchronization, spin locks, monitors, memory consistency models. The second part presents a sequence of concurrent data structures and techniques used in their implementations (coarse-grained, fine-grained, optimistic and lock-free synchronization). Recommended prerequisite: ECEN 3593. Same as CSCI 4313 and ECEN 5313 and CSCI 5313.
instructor(s)
Izraelevitz, Joseph
Primary Instructor
- Fall 2019 / Fall 2020 / Fall 2022 / Fall 2023 / Fall 2024