Distributed OS: Winter 2023: Difference between revisions

From Soma-notes
No edit summary
 
(21 intermediate revisions by the same user not shown)
Line 2: Line 2:


[[Distributed OS: Winter 2023 Course Outline|Here]] is the course outline.
[[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 [https://www.usenix.org/conferences/byname/179 OSDI] and ACM SOSP ([http://sosp.org/ sosp.org],[http://dl.acm.org/event.cfm?id=RE208&CFID=475138068&CFTOKEN=43996267 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. [https://www.usenix.org/conferences/byname/178 NSDI].
To help you write a literature review or the background of a research paper, read the following:
* Harvey, "What Is a Literature Review?" [http://www.cs.cmu.edu/~missy/WritingaLiteratureReview.doc (DOC)] [http://www.cs.cmu.edu/~missy/Writing_a_Literature_Review.ppt (PPT)]
* [http://www.writing.utoronto.ca/advice/specific-types-of-writing/literature-review Taylor, "The Literature Review: A Few Tips On Conducting It"]
==Class Schedule & Readings==
===[[DistOS 2023W 2023-01-09|January 9, 2023]]===
Introduction
===[[DistOS 2023W 2023-01-11|January 11, 2023]]===
Designing a distributed operating system
===[[DistOS 2023W 2023-01-16|January 16, 2023]]===
The Early Internet & Multics:
* [https://en.wikipedia.org/wiki/Multics Wikipedia article on Multics]
* [https://homeostasis.scs.carleton.ca/~soma/distos/2014w/kahn1972-resource.pdf Robert E. Kahn, "Resource-Sharing Computer Communications Networks" (1972)]  [http://dx.doi.org/10.1109/PROC.1972.8911 (DOI)]
* [https://archive.org/details/ComputerNetworks_TheHeraldsOfResourceSharing Computer Networks: The Heralds of Resource Sharing (1972)] - video
Optional: Browse around [https://www.multicians.org/ the Multicians website].
===[[DistOS 2023W 2023-01-18|January 18, 2023]]===
UNIX
* [https://arstechnica.com/gadgets/2019/08/unix-at-50-it-starts-with-a-mainframe-a-gator-and-three-dedicated-researchers/ Richard Jensen, "Unix at 50: How the OS that powered smartphones started from failure" (2019, Ars Technica)]
* [http://homeostasis.scs.carleton.ca/~soma/distos/fall2008/unix.pdf Dennis M. Ritchie and Ken Thompson, "The UNIX Time-Sharing System" (1974)]
* [https://www.youtube.com/watch?v=tc4ROCJYbm0 The UNIX System: Making Computers More Productive (1982)], video
Note that the video covers the main points of the UNIX paper.
===[[DistOS 2023W 2023-01-23|January 23, 2023]]===
The Mother of All Demos:
* [http://www.dougengelbart.org/firsts/dougs-1968-demo.html Doug Engelbart Institute, "Doug's 1968 Demo"].  You may want to focus on the [http://dougengelbart.org/events/1968-demo-highlights.html highlights] or the [http://sloan.stanford.edu/MouseSite/1968Demo.html annotated clips].
* [https://en.wikipedia.org/wiki/The_Mother_of_All_Demos Wikipedia's page on "The Mother of all Demos"]
The Alto:
* [https://homeostasis.scs.carleton.ca/~soma/distos/2014w/alto.pdf Thacker et al., "Alto: A Personal computer" (1979)]  ([https://archive.org/details/bitsavers_xeroxparcttoAPersonalComputer_6560658 archive.org])
===[[DistOS 2023W 2023-01-25|January 25, 2023]]===
Distributed Shared Memory
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/protic-overview.pdf Jelica Protic et al., "Distributed Shared Memory: Concepts and Systems" (1996)]
* [http://homeostasis.scs.carleton.ca/~soma/distos/fall2008/kai-li-shared.pdf Kai Li, "Shared virtual memory on loosely coupled multiprocessors" (1986)] '''(OPTIONAL)'''
===[[DistOS 2023W 2023-01-30|January 30, 2023]]===
Remote Procedure Calls
* [http://homeostasis.scs.carleton.ca/~soma/distos/fall2008/nelson1981-rpc.pdf Bruce J. Nelson, "Remote Procedure Call" (1981)] (Read the summary starting on p. 224, look at the Intro and Background if you have time.)
* [http://homeostasis.scs.carleton.ca/~soma/distos/fall2008/rfc1050.txt Sun Microsystems, "RPC: Remote Procedure Call Protocol Specification" (1988)]
===[[DistOS 2023W 2023-02-01|February 1, 2023]]===
LOCUS & NFS
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-01-21/walker-locus.pdf Bruce Walker et al., "The LOCUS Distributed Operating System." (1983)]
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/sandberg-nfs.pdf Russel Sandberg et al., "Design and Implementation of the Sun Network Filesystem" (1985)]
===[[DistOS 2023W 2023-02-06|February 6, 2023]]===
Sprite, AFS
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-01-28/ousterhout-sprite.pdf John Ousterhout et al., "The Sprite Network Operating System" (1987)]
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-02-11/howard-afs.pdf John H. Howard et al., "Scale and Performance in a Distributed File System" (1988)]
===[[DistOS 2023W 2023-02-08|February 8, 2023]]===
Plan 9 & Inferno
* [https://homeostasis.scs.carleton.ca/~soma/distos/2014w/presotto-plan9.pdf Presotto et. al, Plan 9, A Distributed System (1991)]
* [https://homeostasis.scs.carleton.ca/~soma/distos/2014w/pike-plan9.pdf Pike et al., Plan 9 from Bell Labs (1995)]
* [https://homeostasis.scs.carleton.ca/~soma/distos/2018f/doward97-inferno.pdf Doward et al., The Inferno Operating System (1997)]
* [http://www.inferno-os.info/inferno/ Inferno OS website] (browse)
* [http://doc.cat-v.org/inferno/4th_edition/styx Rob Pike and Dennis M. Ritchie, "The Styx Architecture for Distributed Systems"]
===[[DistOS 2023W 2023-02-13|February 13, 2023]]===
Midterm review
===February 15, 2023===
[https://homeostasis.scs.carleton.ca/~soma/distos/2023w/comp4000-2023w-midterm.pdf Midterm exam]
===[[DistOS 2023W 2023-02-27|February 27, 2023]]===
"Web Scale" discussion
===[[DistOS 2023W 2023-03-01|March 1, 2023]]===
OceanStore & BOINC
* [https://homeostasis.scs.carleton.ca/~soma/distos/fall2008/oceanstore-sigplan.pdf John Kubiatowicz et al., "OceanStore: An Architecture for Global-Scale Persistent Storage" (SIGPLAN 2000)]
* [https://homeostasis.scs.carleton.ca/~soma/distos/fall2008/fast2003-pond.pdf Sean Rhea et al., "Pond: the OceanStore Prototype" (FAST 2003)]
* [https://homeostasis.scs.carleton.ca/~soma/distos/fall2008/anderson-boinc.pdf Anderson, "BOINC: A System for Public-Resource Computing and Storage" (Grid Computing 2004)]
Project Proposal due March 3rd
===[[DistOS 2023W 2023-03-06|March 6, 2023]]===
NASD & Tapestry
* [https://homeostasis.scs.carleton.ca/~soma/distos/2008-03-10/gibson-nasd.pdf Garth A. Gibson et al., "A Cost-Effective, High-Bandwidth Storage Architecture" (1998)]
* [https://pdos.csail.mit.edu/~strib/docs/tapestry/tapestry_jsac03.pdf Zhao et al, "Tapestry: A Resilient Global-Scale Overlay for Service Deployment" (JSAC 2003)]
Background (optional but helpful):
* [https://en.wikipedia.org/wiki/Distributed_hash_table Wikipedia's article on Distributed Hash Tables]
===[[DistOS 2023W 2023-03-08|March 8, 2023]]===
Chubby & GFS
* [https://www.usenix.org/legacy/events/osdi06/tech/burrows.html Burrows, The Chubby Lock Service for Loosely-Coupled Distributed Systems (OSDI 2006)]
* [https://research.google.com/archive/gfs-sosp2003.pdf Sanjay Ghemawat et al., "The Google File System" (SOSP 2003)]
===[[DistOS 2023W 2023-03-13|March 13, 2023]]===
Ceph
* [https://www.usenix.org/events/osdi06/tech/weil.html Weil et al., Ceph: A Scalable, High-Performance Distributed File System (OSDI 2006)].
* [https://homeostasis.scs.carleton.ca/~soma/distos/2021f/papers/weil2006-crush.pdf Weil et al., CRUSH: Controlled, Scalable, Decentralized Placement of Replicated Data (SC 2006)]
===[[DistOS 2023W 2023-03-15|March 15, 2023]]===
BigTable & MapReduce
* [https://research.google.com/archive/bigtable-osdi06.pdf Chang et al., "BigTable: A Distributed Storage System for Structured Data" (OSDI 2006)]
* [https://research.google.com/archive/mapreduce.html Dean & Ghemawat, "MapReduce: Simplified Data Processing on Large Clusters" (OSDI 2004)] (be sure to read paper)
===[[DistOS 2023W 2023-03-20|March 20, 2023]]===
Omega & Borg
* [https://research.google/pubs/pub41684.pdf Schwarzkopf et al., "Omega: flexible, scalable schedulers for large compute clusters" (EuroSys 2013)]
* [https://research.google/pubs/pub43438.pdf Verma et al., "Large-scale cluster management at Google with Borg" (EuroSys 2015)]
===[[DistOS 2023W 2023-03-22|March 22, 2023]]===
Cassandra & Dynamo
* [http://www.cs.cornell.edu/projects/ladis2009/papers/lakshman-ladis2009.pdf Lakshman & Malik, "Cassandra - A Decentralized Structured Storage System" (LADIS 2009)]
* [http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf DeCandia et al., "Dynamo: Amazon’s Highly Available Key-value Store" (SOSP 2007)]
===[[DistOS 2023W 2023-03-27|March 27, 2023]]===
Zookeeper & Delos
* [https://www.usenix.org/system/files/osdi20-balakrishnan.pdf Balakrishnan et al., "Virtual Consensus in Delos" (OSDI 2020)]
* [http://static.usenix.org/event/atc10/tech/full_papers/Hunt.pdf Hunt et al., "ZooKeeper: Wait-free coordination for Internet-scale systems" (USENIX ATC 2010)] [https://www.usenix.org/legacy/multimedia/atc10hunt (video)]
===[[DistOS 2023W 2023-03-29|March 29, 2023]]===
Haystack & F4
* [http://static.usenix.org/legacy/events/osdi10/tech/full_papers/Beaver.pdf Beaver et al., "Finding a needle in Haystack: Facebook’s photo storage" (OSDI 2010)]
* [https://www.usenix.org/conference/osdi14/technical-sessions/presentation/muralidhar Muralidhar et al., "f4: Facebook's Warm BLOB Storage System" (OSDI 2014)]
===[[DistOS 2023W 2023-04-03|April 3, 2023]]===
Spanner & Tensorflow
* [https://www.usenix.org/conference/osdi12/technical-sessions/presentation/corbett Corbett et al., "Spanner: Google’s Globally-Distributed Database" (OSDI 2012)]
* [https://www.usenix.org/conference/osdi16/technical-sessions/presentation/abadi Martin Abadi et al., "TensorFlow: A System for Large-Scale Machine Learning" (OSDI 2016)]
===[[DistOS 2023W 2023-04-05|April 5, 2023]]===
Class wrap up, final exam review
===April 10, 2023===
Project Presentations

Latest revision as of 15:53, 3 April 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:

Class Schedule & Readings

January 9, 2023

Introduction

January 11, 2023

Designing a distributed operating system

January 16, 2023

The Early Internet & Multics:

Optional: Browse around the Multicians website.

January 18, 2023

UNIX

Note that the video covers the main points of the UNIX paper.

January 23, 2023

The Mother of All Demos:

The Alto:

January 25, 2023

Distributed Shared Memory

January 30, 2023

Remote Procedure Calls

February 1, 2023

LOCUS & NFS

February 6, 2023

Sprite, AFS

February 8, 2023

Plan 9 & Inferno

February 13, 2023

Midterm review

February 15, 2023

Midterm exam

February 27, 2023

"Web Scale" discussion

March 1, 2023

OceanStore & BOINC

Project Proposal due March 3rd

March 6, 2023

NASD & Tapestry

Background (optional but helpful):

March 8, 2023

Chubby & GFS

March 13, 2023

Ceph

March 15, 2023

BigTable & MapReduce

March 20, 2023

Omega & Borg

March 22, 2023

Cassandra & Dynamo

March 27, 2023

Zookeeper & Delos

March 29, 2023

Haystack & F4

April 3, 2023

Spanner & Tensorflow

April 5, 2023

Class wrap up, final exam review

April 10, 2023

Project Presentations