Multicore Computing
Examine theoretical and practical aspects of designing multicore software systems; programming constructs for concurrent computation, openMP, sequential consistency, linearizability, lock-based synchronization, lock-free synchronization, wait-free synchronization, consensus number, software transactional memory, testing and debugging parallel programs, race detection, concurrent data structures such as stacks, queues, linked lists, hash tables and skiplists, formal models, temporal logic, reachability analysis, and parallel graph algorithms. Only one of the following may be counted: Electrical and Computer Engineering 382C (Topic 12), Electrical Engineering 382C (Topic 12), 382V (Topic: Multicore Computing).
Prerequisites & course information
Examine theoretical and practical aspects of designing multicore software systems; programming constructs for concurrent computation, openMP, sequential consistency, linearizability, lock-based synchronization, lock-free synchronization, wait-free synchronization, consensus number, software transactional memory, testing and debugging parallel programs, race detection, concurrent data structures such as stacks, queues, linked lists, hash tables and skiplists, formal models, temporal logic, reachability analysis, and parallel graph algorithms. Only one of the following may be counted: Electrical and Computer Engineering 382C (Topic 12), Electrical Engineering 382C (Topic 12), 382V (Topic: Multicore Computing).
Sources
- Course catalogue ↗2026-2027