Advanced Topics in Computer Systems

Aims

This module will attempt to provide an overview of "systems research".
This is a very broad field which has existed for over 40 years and
which has historically included areas such as operating systems,
database systems, file systems, distributed systems and networking, to
name but a few. The course will thus necessarily cover only a tiny
subset of the field.
Many good ideas in systems research are the result of discussing and
debating previous work. A primary aim of this course therefore will be
to educate students in the art of critical thinking: the
ability to argue for and/or against a particular approach or idea.
This will be done by having students read and critique a set of papers
each week. In addition, each week will include presentations from a
number of participants which aim to advocate or criticise each
piece of work.

Syllabus

The syllabus for this course will vary from year to year so as to
cover a mixture of older and more contemporary systems
papers. Contemporary papers will be generally selected from the past 5
years, primarily drawn from high quality conferences such as SOSP,
OSDI, ASPLOS, FAST, NSDI and EuroSys.

As an example, the topics for 2010-11 included
Systems Research and System Design,
OS Structure and Virtual Memory,
Systems Virtualization,
Bugs,
Multicore Operating Systems,
Datacenter Storage,
Data Intensive Computing and
Deterministic Parallelism .
See also last year’s full schedule.

The reading each week will generally involve a load equivalent to 2-3
full length papers. Students will be expected to read these in detail
and prepare a written summary and critique. In addition, each week
will contain one or more short presentations by students for each
paper. The types of presentation will include:

Overview: a balanced presentation of the paper, covering both positive and
negative aspects.

Advocacy: a positive spin on the paper, aiming to convince others of its value.

Criticism: a negative take on the paper, focusing on its weak spots
and omissions.

These presentation roles will be assigned in advance, regardless of
the soi disant absolute merit of the paper or the preference of
the student. Furthermore, all students – regardless of any assigned
presentation role in a given week – will be expected to participate
in the class by asking questions and generally entering the debate.

Objectives

On completion of this module students should have a broad
understanding of some key papers and concepts in computer systems
research, as well as an appreciation of how to argue for or against
any particular idea.

Coursework and practical work

Coursework will be the production of the weekly paper
reviews. Practical work will be presenting papers as appropriate, as
well as ongoing participation in the class.

Assessment

Participants on this course will be awarded a percentage score which
will be made up of the grades attained for the best ten paper reviews
submitted throughout the course.

Recommended reading

Most of the reading for this course will be in the form of the
selected papers each week. However, the following may be useful
background reading to refresh your knowledge from undergraduate
courses: