Course pages 2019–20
Multicore Semantics and Programming
This course is offered to both Part II and ACS/Part III students. A core set of exercises is completed by students on both courses. A further set of additional questions are to be completed by ACS/Part III students to provide the opportunity to demonstrate the qualities that are expected for the higher ACS/Part III grades.
Assessment Overview
- Assignment 1, for 50% of the overall grade. Written coursework comprising a series of questions on the design of mutual exclusion locks and shared-memory data structures.
- Assignment 2, for 50% of the overall grade. Written coursework comprising a series of questions on hardware and software relaxed-memory concurrency semantics.
Submission Deadlines
Wednesday 4 December 2019
Assessment Details
Assignment 1
Assignment 1, written coursework for 50% of the overall grade [PDF].
The written coursework comprises a series of questions on the design of mutual exclusion locks and shared-memory data structures. Pseudo-code can be used when writing algorithms, and a sequentially-consistent memory model can be assumed. For questions about performance, it is sufficient to describe how an algorithm is likely to interact with a classical MESI cache in a machine with multiple cores and/or multiple sockets.
Assignment 2
This written coursework comprises a series of questions on hardware and software relaxed-memory concurrency semantics.
Assignment 2, written coursework for 50% of the overall grade.
Last year’s page is still available.