Department of Computer Science and Technology

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.