COMPM030 - Distributed Systems and Security
Note: Whilst every effort is made to keep the syllabus and assessment records correct, the precise details must be checked with the lecturer(s).- Code
- COMPM030 (Also taught as: COMPGZ03)
- Year
- 4
- Prerequisites
- good understanding of object-oriented programming and design and networking protocols
- Term
- 1
- Taught By
- Brad Karp (100%)
- Aims
- The first half of the class explores the design and implementation of distributed systems in case-study fashion: students read classic and recent research papers describing ambitious distributed systems. In lecture, students critically discuss the principles that cause these systems to function correctly, the exten to which these systems solve the problem articulated by the authors and the extent to which the problem and solution chosen by the quthors are relevant in practice. The second half of the class explores computer system security, again, largely in case-study fashion.
- Learning Outcomes
- Correctness under concurrency is a central challenge in distributed systems and one that can only fully be understood through experience of building such systems (and encountering subtle bugs n them). To give students experience of this sort, the module includes one significant programming coursework in C, in which the students implement a simple distributed system that must provide an ordering guarantee. Further written coursework helps students solidify their understanding of the security material in the class.
Content:
Course introduction; OS concepts
Design: Worse is Better; Concurrent IO; RPC & Transparency
Ivy: Distributed Shared Memory
Bayou: Weak Connectivity and Update Conflicts; GFS: The Google File System
RouteBricks: Cluster-Based IP Router; Introduction to Security; User Authentification
Cryptographic Primitives I; Cryptographic Primitives II;
Secure Sockets Layer (SSL); Reasoning Formally about Authentification : TAOS
Software Vulnerabilities and Expoits; Preventing Exploits
Containing Buggy Code: Software-based Fault Isolation; OKWS: Approximating Least Privilege in a Real-World Web Server
Method of Instruction:
Lectures, case-studies
Assessment:
The course has the following assessment components:
- Written Examination (2.5 hours, 70%)
- Coursework Section (30%)
To pass this course, students must:
- Obtain an overall pass mark of 50% for all sections combined
The examination rubric is:
Answer three questions out of five. All questions carry equal marks.

