Distributed OS: Winter 2023
Course Outline
Here is the course outline.
Project Help
To develop a literature review or research proposal, start with a single research paper that you find interesting and that is related to distributed operating systems in some way.
To begin selecting a paper, I suggest that you:
- search on Google Scholar using keywords relating to your interests, and/or
- browse the proceedings of major conferences that publish work related to distributed operating systems.
The main operating system conferences are OSDI and ACM SOSP (sosp.org,ACM DL). Note that not all the work here is on distributed operating systems! Also, many other conferences publish some work related to distributed operating systems, e.g. NSDI.
To help you write a literature review or the background of a research paper, read the following:
- Harvey, "What Is a Literature Review?" (DOC) (PPT)
- Taylor, "The Literature Review: A Few Tips On Conducting It"
Class Schedule & Readings
January 9, 2023
Introduction
January 11, 2023
Designing a distributed operating system
January 16, 2023
The Early Internet & Multics:
- Wikipedia article on Multics
- Robert E. Kahn, "Resource-Sharing Computer Communications Networks" (1972) (DOI)
- Computer Networks: The Heralds of Resource Sharing (1972) - video
Optional: Browse around the Multicians website.
January 18, 2023
UNIX
- Richard Jensen, "Unix at 50: How the OS that powered smartphones started from failure" (2019, Ars Technica)
- Dennis M. Ritchie and Ken Thompson, "The UNIX Time-Sharing System" (1974)
- The UNIX System: Making Computers More Productive (1982), video
Note that the video covers the main points of the UNIX paper.
January 23, 2023
The Mother of All Demos:
- Doug Engelbart Institute, "Doug's 1968 Demo". You may want to focus on the highlights or the annotated clips.
- Wikipedia's page on "The Mother of all Demos"
The Alto:
January 25, 2023
Distributed Shared Memory
- Jelica Protic et al., "Distributed Shared Memory: Concepts and Systems" (1996)
- Kai Li, "Shared virtual memory on loosely coupled multiprocessors" (1986) (OPTIONAL)
January 30, 2023
Remote Procedure Calls
- Bruce J. Nelson, "Remote Procedure Call" (1981) (Read the summary starting on p. 224, look at the Intro and Background if you have time.)
- Sun Microsystems, "RPC: Remote Procedure Call Protocol Specification" (1988)
February 1, 2023
LOCUS & NFS
- Bruce Walker et al., "The LOCUS Distributed Operating System." (1983)
- Russel Sandberg et al., "Design and Implementation of the Sun Network Filesystem" (1985)
February 6, 2023
Sprite, AFS
- John Ousterhout et al., "The Sprite Network Operating System" (1987)
- John H. Howard et al., "Scale and Performance in a Distributed File System" (1988)
February 8, 2023
Plan 9 & Inferno
- Presotto et. al, Plan 9, A Distributed System (1991)
- Pike et al., Plan 9 from Bell Labs (1995)
- Doward et al., The Inferno Operating System (1997)
- Inferno OS website (browse)
- Rob Pike and Dennis M. Ritchie, "The Styx Architecture for Distributed Systems"
February 13, 2023
Midterm review
February 15, 2023
February 27, 2023
"Web Scale" discussion
March 1, 2023
OceanStore & BOINC
- John Kubiatowicz et al., "OceanStore: An Architecture for Global-Scale Persistent Storage" (SIGPLAN 2000)
- Sean Rhea et al., "Pond: the OceanStore Prototype" (FAST 2003)
- Anderson, "BOINC: A System for Public-Resource Computing and Storage" (Grid Computing 2004)
Project Proposal due March 3rd
March 6, 2023
NASD & Tapestry
- Garth A. Gibson et al., "A Cost-Effective, High-Bandwidth Storage Architecture" (1998)
- Zhao et al, "Tapestry: A Resilient Global-Scale Overlay for Service Deployment" (JSAC 2003)
Background (optional but helpful):
March 8, 2023
Chubby & GFS
- Burrows, The Chubby Lock Service for Loosely-Coupled Distributed Systems (OSDI 2006)
- Sanjay Ghemawat et al., "The Google File System" (SOSP 2003)
March 13, 2023
Ceph
- Weil et al., Ceph: A Scalable, High-Performance Distributed File System (OSDI 2006).
- Weil et al., CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data (SC 2006)
March 15, 2023
BigTable & MapReduce
- Chang et al., "BigTable: A Distributed Storage System for Structured Data" (OSDI 2006)
- Dean & Ghemawat, "MapReduce: Simplified Data Processing on Large Clusters" (OSDI 2004) (be sure to read paper)
March 20, 2023
Omega & Borg
- Schwarzkopf et al., "Omega: flexible, scalable schedulers for large compute clusters" (EuroSys 2013)
- Verma et al., "Large-scale cluster management at Google with Borg" (EuroSys 2015)
March 22, 2023
Cassandra & Dynamo
- Lakshman & Malik, "Cassandra - A Decentralized Structured Storage System" (LADIS 2009)
- DeCandia et al., "Dynamo: Amazon’s Highly Available Key-value Store" (SOSP 2007)
March 27, 2023
Zookeeper & Delos
- Balakrishnan et al., "Virtual Consensus in Delos" (OSDI 2020)
- Hunt et al., "ZooKeeper: Wait-free coordination for Internet-scale systems" (USENIX ATC 2010) (video)
March 29, 2023
Haystack & F4
- Beaver et al., "Finding a needle in Haystack: Facebook’s photo storage" (OSDI 2010)
- Muralidhar et al., "f4: Facebook's Warm BLOB Storage System" (OSDI 2014)
April 3, 2023
Spanner & Tensorflow
- Corbett et al., "Spanner: Google’s Globally-Distributed Database" (OSDI 2012)
- Martin Abadi et al., "TensorFlow: A System for Large-Scale Machine Learning" (OSDI 2016)
April 5, 2023
TBD
April 10, 2023
Project Presentations
April 12, 2023
Project Presentations