Department of Computer Science and Technology

Course pages 2017–18

Advanced Topics in Computer Systems

The slides I gave in the introductory lecture are here.

Schedule & Reading List

We'll meet in for two hours every Thursday from 10.00—12.00 during Lent term starting January 18th 2018. Each week we will have 3 participant presentations which should be about 15—18 minutes long. We'll start with 2 presentations and discussion followed by a short break, and then the final presentation and further discussion. The paper schedule for this year is given below, and the associated randomly-generated presentation schedule is here. Please be sure to check that you know which papers you are presenting, what flavour of presentation you should write, and in which slot (date and time) you are presenting.

Note! All Week 1 papers, and any marked Background, Historical Interest, or Additional are not for assessment and you should not submit reviews on them.

Week 1: Reflections on Systems Design

Week 2: OS Structure

Historical Interest

Week 3: Virtualisation


Week 4: Consensus [ with Heidi Howard ]



Week 5: Cluster Scheduling

Week 6: Data Intensive Computing

Week 7: Privacy


Week 8: Bugs

To give you a feeling for the kinds of presentations expected, here are a few examples. These are for papers not assigned this year, so you may find them a useful resource in any case. In some cases you will also find the conference presentations given by the original authors online too; while potentially useful, note that these serve a different purpose and will usually be allocated more time than your presentations.

  • "EROS: a fast capability system", Shapiro et al, ACM SOSP 1999.
  • "Labels and Event Processes in the Asbestos Operating System", Efstathopolous et al, ACM SOSP 2005.
  • "Managing Update Conflicts in Bayou, a Weakly Connected Replicated Storage System", Terry et al, ACM SOSP 1995.
  • "Practical Byzantine Fault Tolerance", Castro and Liskov, USENIX OSDI 1999.
  • "Zyzzyva: Speculative Byzantine Fault Tolerance", Kotla et al, ACM SOSP 2007.
  • "DryadLINQ: A System for General-Purpose Distributed Data-Parallel Computing Using a High-Level Language", Yu et al, USENIX OSDI 2008.
  • "Quincy: Fair Scheduling for Distributed Computing Clusters", Isard et al, ACM SOSP 2009.