ECE X61C ECE 361C Multicore Computing 3 Hours
3 Lecture Hours 0 Lab Hours
Explore 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. Electrical and Computer Engineering 361C and Electrical Engineering 361C may not both be counted. Three lecture hours a week for one semester.
Pre/Corequisites: Electrical and Computer Engineering 422C (or Electrical Engineering 422C) and Electrical and Computer Engineering 360C (or Electrical Engineering 360C) with a grade of at least C-.
Grading: Student Option
Repeatable for credit: No
Academic Level: Upper Division