CS 6410: Advanced Systems

CS 6410 is an advanced course in computer systems targetted to students interested in systems as a graduate research area. Topics may include systems specification, systems measurement, communication protocols, consistency in distributed systems, fault tolerance, knowledge and knowledge-based protocols, performance, scheduling, concurrency control, and security issues. As a Cornell CS PhD student, you are required to demonstrate basic competence in systems at the CS 4410 level, take a systems breadth course, and take at least one 6xxx course in the “systems style”. CS6410 can satisfy all of these requirements.
Prerequisites: CS 6410 is open to any CS PhD or MS student, as well as, with permission of the instructor, students who have mastered the material in CS 3410 or 3420 (ECE 3140) and CS 4410.

Inclusion

  • We strive to make CS6410 a welcoming, safe, equitable, and respectful environment, consistent with Cornell’s commitments
  • We recognize that the society we live in is none of those things, that we have implicit biases, and that we have to work hard every day to counter those biases to create an inclusive environment
  • If you witness a bias incident or have been the victim of one, please file a confidential report with Cornell
  • If you have any suggestions such as improvements to the web site, syllabi, slides, homework, and so on, you can email cs6410-prof@cornell.edu

Lecture

Lectures take place on Tuesdays and Thursdays, 8:40am - 9:55am in 114 Gates Hall and in Bloomberg Center 497 over video. Attendance and active participation at each lecture is expected.

Communications

  • We will use CMSX for submissions and grades
  • We will use Ed Discussion for questions and answers
  • For time sensitive matters, please email cs6410-staff
  • For sensitive matters, please email cs6410-prof
  • Please do not contact any course staff or instructors via their email addresses, facebook, texting, etc. for matters concerning this course.

Homework

  • Academic integrity:
    • Homework can only be discussed within the study group that you're in without outside help other than from the teaching staff
    • Do not look at code that is not by your study group
    • Do not share your study group's code with anybody
    • OK to discuss concepts with students in other groups
    • Violations will be prosecuted
  • There is no exam

Fall 2025 Course Schedule

Need to be on campus, or use VPN to access some papers. Or, change “dl.acm.org/” to “dl-acm-org.proxy.library.cornell.edu/” in the URL.

Week Class # Day Date Topic Reading Notes
1 1 Tue Aug 26 Administrivia How to read a paper
2 Thu Aug 28 Classical systems; intro to first programming project Epidemic algorithms for replicated database maintenance by Alan Demers et al. Due Aug 28, 7.30am
2 3 Tue Sep 2 Building Large, Principled Systems End-to-end arguments in system design by Jerry H. Saltzer et al.

Hints for computer system design by Butler W. Lampson
Due Sep 2, 7.30am
4 Thu Sep 4 Classical Systems The UNIX time-sharing system by Dennis M. Ritchie et al.

The structure of the “THE”-multiprogramming system by Edsger W. Dijkstra
Due Sep 4, 7.30am
3 5 Tue Sep 9 Classic File Systems Required: The design and implementation of a log-structured file system by Mendel Rosenblum et al.

Optional: A fast file system for Unix by William N. Joy et al.
Due Sep 9, 7.30am
6 Thu Sep 11 Concurrency, Threads, and Events On the duality of operating system structures by Hugh C. Lauer et al.

Capriccio: scalable threads for internet services by Rob van Behrn et al.
Due Sep 11, 7.30am
4 7 Tue Sep 16 µ-kernels Required: The performance of μ-kernel-based systems by Hermann Härtig et al.

Optional: Mach: a foundation for open systems (operating systems) by Richard Rashid et al.
Due Sep 16, 7.30am
8 Thu Sep 18 Extensible Kernels (Lindsey) Required: Exokernel: an operating system architecture by Dawson R. Engler et al.

Optional: Extensibility, Safety and Performance in the SPIN Operating System by Brian N. Bershad et al.
Due Sep 18, 7.30am
5 9 Tue Sep 23 Virtualization (Irene) Required: Xen and the art of virtualization by Paul Barham et al.

Optional: The Origin of the VM/370 Time-Sharing System by R. J. Creasy
Due Sep 23, 7.30am
10 Thu Sep 25 Many Cores (Yifan) Required: An Analysis of Linux Scalability to Many Cores by Silas Boyd-Wickizer et al.

Optional: Corey: An Operating System for Many Cores by Silas Boyd-Wickizer et al.
Due Sep 25, 7.30am
6 11 Tue Sep 30 seL4 (Ernest) Required: seL4: formal verification of an OS kernel by Gerwin Klein et al.

Optional: Shielding Applications from an Untrusted Cloud with Haven by Andrew Baumann et al.
Due Sep 30, 7.30am
12 Thu Oct 2 Gossip Program Evaluation Session
7 13 Tue Oct 7 Clocks / NTP (Ben) Required: Time, clocks, and the ordering of events in a distributed system by Leslie Lamport

Optional: Internet time synchronization: the network time protocol by David L. Mills
Due Oct 7, 7.30am
14 Thu Oct 9 Chain replication / Fault tolerance (Jacqueline) Implementing fault-tolerant services using the state machine approach: a tutorial by Fred B. Schneider

Chain replication for supporting high throughput and availability by Robbert van Renesse et al.
Due Oct 9, 7.30am
8 - Tue Oct 14 Fall Break
15 Thu Oct 16 Distributed Systems: FLP (Gilad) Impossibility of distributed consensus with one faulty process by Michael J. Fischer et al. Due Oct 16, 7.30am
9 16 Tue Oct 21 Paxos (Jorge) Required: Paxos Made Simple by Leslie Lamport

Optional: In search of an understandable consensus algorithm by Diego Ongaro et al.
Due Oct 21, 7.30am
17 Thu Oct 23 Byzantine Fault Tolerance (Daniel L.) Required: Practical Byzantine fault tolerance by Miguel Castro et al.

Optional: The Byzantine Generals Problem by Lamport et al.
Due Oct 23, 7.30am
10 18 Tue Oct 28 Chord (Chengyu) Required: Chord: A scalable peer-to-peer lookup service for internet applications by Ion Stoica et al.

Optional: The impact of DHT routing geometry on resilience and proximity by Krishna Gummadi et al.
Due Oct 28, 7.30am
19 Thu Oct 30 Dynamo (Muhammad) Dynamo: amazon's highly available key-value store by Gieseppe DeCandia et al. Due Oct 30, 7.30am
11 20 Tue Nov 4 Google File System (Jamal) Required: The Google file system by Sanjay Ghemawat et al.

Optional: Spanner: Google’s Globally Distributed Database by James C. Corbett et al.
Due Nov 4, 7.30am
21 Thu Nov 6 MapReduce / Spark (Julian) MapReduce: simplified data processing on large clusters by Jeffrey Dean et al.

Apache Spark: a unified engine for big data processing by Matei Zaharia et al.
Due Nov 6, 7.30am
12 22 Tue Nov 11 Serverless / OpenLambda (Munachimso) Occupy the cloud: distributed computing for the 99% by Eric Jonas et al.

Serverless computation with openLambda by Scott Hendrickson et al.
Due Nov 11, 7.30am
23 Thu Nov 13 Large Scale Data Analytics (Daniel E.) Required: Pregel: a system for large-scale graph processing by Grzegorz Malewicz et al.

Optional: TensorFlow: a system for large-scale machine learning by Martin Abadi et al.
Due Nov 13, 7.30am
13 24 Tue Nov 18 Congestion control (Anshuman) Congestion avoidance and control by Van Jacobson Due Nov 18, 7.30am
25 Thu Nov 20 Software-Defined and Programmable Networks (Sheng-Yen) Required: Arrakis: The Operating System Is the Control Plane by Simon Peter et al.

Optional: OpenFlow: enabling innovation in campus networks by Nick McKeown et al.
Due Nov 20, 7.30am
14 26 Tue Nov 25 Bitcoin (Zhihan) Bitcoin: A Peer-to-Peer Electronic Cash System by Satoshi Nakamoto Due Nov 25, 7.30am
- Thu Nov 27 Thanksgiving Break
15 27 Tue Dec 2 Final student project presentations TBD Due Dec 2, 7.30am
28 Thu Dec 4 Final student project presentations TBD Due Dec 4, 7.30am

Resources

Course Management

  • Assignments will be collected via CMS

List of example ‘seminal papers’

  • Epidemic algorithms for replicated database maintenance
  • Paxos made simple
  • Bitcoin: A Peer-to-Peer Electronic Cash System
  • End-to-end arguments in system design
  • The Design and Implementation of a Log-Structured File System
  • On the duality of operating system structures
  • Exokernel: an operating system architecture for application-level resource management
  • Xen and the Art of Virtualization
  • Running Commodity Operating Systems on Scalable Multiprocessors
  • The Google file system
  • Spanner: Google’s Globally Distributed Database
  • MapReduce: Simplified Data Processing on Large Clusters
  • Time, Clocks, and the Ordering of Events in a Distributed System
  • Distributed snapshots: determining global states of distributed systems
  • Implementing fault-tolerant services using the state machine approach: A tutorial
  • Chain replication for high throughput and availability
  • Impossibility of Distributed Consensus with One Faulty Process
  • Chord: A scalable peer-to-peer lookup service for internet applications
  • Dynamo: Amazon’s Highly Available Key-Value Store
  • Congestion Avoidance and Control
  • seL4: formal verification of an OS kernel
  • An Analysis of Linux Scalability to Many Cores
  • The Multikernel: A new OS architecture for scalable multicore systems
  • Capriccio: Scalable Threads for Internet Services
  • The benefits and costs of writing a POSIX kernel in a high-level language
  • Mesos: A Platform for Fine-Grained Resource Sharing in the Data Center
  • Apache Spark: A Unified Engine for Big Data Processing
  • Pregel: A System for Large-Scale Graph Processing
  • TensorFlow: A System for Large-Scale Machine Learning
  • Serverless Computation with OpenLambda
  • Occupy the Cloud: Distributed Computing for the 99%
  • Arrakis: The Operating System is the Control Plane
  • OpenFlow: Enabling Innovation in Campus Networks
  • TaintDroid: An Information-Flow Tracking System for Realtime Privacy Monitoring on Smartphones
  • Internet Time Synchronization: The Network Time Protocol

Textbooks

The course is mostly based on published papers.

Suggested Additional readings:

Office Hours

We look forward to seeing you in office hours! Check out the availability of the course staff below:

DayTimeWhereWho
By appointmentBy appointmentGates 427 or ZoomHakim Weatherspoon
By appointmentBy appointmentGates 440 or ZoomSalman Abid

Meet the Course Staff

Instructor

hakim-img
Hakim Weatherspoon
(he/him)
Professor
Hometown
Ithaca, NY
Hakim Weatherspoon received his PhD in 2006 from the University of California, Berkeley, in the area of secure and fault-tolerant distributed wide-area storage systems (e.g. Antiquity, OceanStore, etc.).

Graduate TA(s)

Salman Abid
(he/him)
CS PhD Student
Hometown
Karachi, Pakistan