Difference between revisions of "Distributed OS: Fall 2019"

From Soma-notes
Jump to navigation Jump to search
 
(28 intermediate revisions by the same user not shown)
Line 2: Line 2:


[[Distributed OS: Fall 2019 Course Outline|Here]] is the course outline.
[[Distributed OS: Fall 2019 Course Outline|Here]] is the course outline.
==Group Report Grading==
Make sure your reports have the following (10 points total):
* Briefly summarize the papers so report can be read by anyone (2 points)
* Address most of the assigned discussion questions (4 points)
* Write in an understandable form using complete sentences and paragraphs (2 points)
* Reflect the discussion you had, reporting the questions that came up and points of debate (2 points)


==Project Help==
==Project Help==
Line 17: Line 25:
* [http://www.writing.utoronto.ca/advice/specific-types-of-writing/literature-review Taylor, "The Literature Review: A Few Tips On Conducting It"]
* [http://www.writing.utoronto.ca/advice/specific-types-of-writing/literature-review Taylor, "The Literature Review: A Few Tips On Conducting It"]


==Assigned Readings==
==Class Schedule & Readings==


===[[DistOS 2018F 2018-09-9|September 4, 2019]] (in person)===
===[[DistOS 2019F 2019-09-4|September 4, 2019]] (in person)===


None
None


===[[DistOS 2018F 2018-09-9|September 9, 2019]] (online)===
===[[DistOS 2019F 2019-09-9|September 9, 2019]] (online)===


The Early Internet:
The Early Internet:
* [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://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
* [https://archive.org/details/ComputerNetworks_TheHeraldsOfResourceSharing Computer Networks: The Heralds of Resource Sharing (1972)] - video
===[[DistOS 2019F 2019-09-11|September 11, 2019]] (online)===
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"]
===[[DistOS 2019F 2019-09-16|September 16, 2019]] (online)===
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 2019F 2019-09-18|September 18, 2019]] (online)===
Multics & UNIX:
* [https://en.wikipedia.org/wiki/Multics Wikipedia article on Multics]
* [https://homeostasis.scs.carleton.ca/~soma/distos/fall2008/unix.pdf Dennis M. Ritchie and Ken Thompson, "The UNIX Time-Sharing System" (1974)]
* [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)]
Optional: Browse around [https://www.multicians.org/ the Multicians website].
===[[DistOS 2019F 2019-09-23|September 23, 2019]] (online)===
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 2019F 2019-09-25|September 25, 2019]] (online)===
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 2019F 2019-09-30|September 30, 2019]] (online)===
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 2019F 2019-10-02|October 2, 2019]] (online)===
Sprite, AFS, & Literature reviews
* [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)]
* 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://advice.writing.utoronto.ca/types-of-writing/literature-review/ Taylor, "The Literature Review: A Few Tips On Conducting It"] [http://homeostasis.scs.carleton.ca/~soma/distos/2018f/taylor-literature-review.pdf (PDF)]
===[[DistOS 2019F 2019-10-07|October 7, 2019]] (online)===
Amoeba & Clouds
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-01-28/tanenbaum-amoeba.pdf Andrew Tannenbaum et al., "The Amoeba System" (1990)]
* [http://homeostasis.scs.carleton.ca/~soma/distos/2008-01-28/clouds-dasgupta.pdf Partha Dasgupta et al., "The Clouds Distributed Operating System" (1991)]
===[[DistOS 2019F 2019-10-09|October 9, 2019]] (online)===
Plan 9 & Inferno ''(no group report)''
* [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"]
Second half of class will be a review for the midterm.
===October 16, 2019 (in person)===
[https://homeostasis.scs.carleton.ca/~soma/distos/2019f/comp4000-2019f-midterm.pdf Midterm exam] (in class)
===[[DistOS 2019F 2019-10-28|October 28, 2019]] (online)===
BOINC & Tapestry
* Anderson, "BOINC: A System for Public-Resource Computing and Storage" (Grid Computing 2004) [http://dx.doi.org/10.1109/GRID.2004.14 (DOI)] [http://ieeexplore.ieee.org.proxy.library.carleton.ca/stamp/stamp.jsp?tp=&arnumber=1382809 (Proxy)]
* [http://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):
* [http://en.wikipedia.org/wiki/Distributed_hash_table Wikipedia's article on Distributed Hash Tables]
* [http://en.wikipedia.org/wiki/Kademlia Wikipedia's article on Kademlia]
* [http://en.wikipedia.org/wiki/Tapestry_%28DHT%29 Wikipedia's article on Tapestry]
===[[DistOS 2019F 2019-10-30|October 30, 2019]] (online)===
Farsite & Oceanstore
* [http://homeostasis.scs.carleton.ca/~soma/distos/fall2008/adya-farsite-intro.pdf Atul Adya et al.,"FARSITE: Federated, Available, and Reliable Storage for an Incompletely Trusted Environment" (2002)]
* [http://homeostasis.scs.carleton.ca/~soma/distos/fall2008/bolosky-farsite-retro.pdf William J. Bolosky et al., "The Farsite Project: A Retrospective" (2007)]
* [http://homeostasis.scs.carleton.ca/~soma/distos/fall2008/oceanstore-sigplan.pdf John Kubiatowicz et al., "OceanStore: An Architecture for Global-Scale Persistent Storage" (2000)]
* [http://homeostasis.scs.carleton.ca/~soma/distos/fall2008/fast2003-pond.pdf Sean Rhea et al., "Pond: the OceanStore Prototype" (2003)]
Project Proposal due Nov. 3rd.
===[[DistOS 2019F 2019-11-04|November 4, 2019]] (online)===
GFS & Chubby
* [http://research.google.com/archive/gfs-sosp2003.pdf Sanjay Ghemawat et al., "The Google File System" (SOSP 2003)]
* [https://www.usenix.org/legacy/events/osdi06/tech/burrows.html Burrows, The Chubby Lock Service for Loosely-Coupled Distributed Systems (OSDI 2006)]
===[[DistOS 2019F 2019-11-06|November 6, 2019]] (online)===
MapReduce & BigTable
* [http://research.google.com/archive/mapreduce.html Dean & Ghemawat, "MapReduce: Simplified Data Processing on Large Clusters" (OSDI 2004)] (be sure to read paper)
* [http://research.google.com/archive/bigtable-osdi06.pdf Chang et al., "BigTable: A Distributed Storage System for Structured Data" (OSDI 2006)]
===[[DistOS 2019F 2019-11-11|November 11, 2019]] (online)===
NASD & Ceph
* [http://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)]
* [http://www.usenix.org/events/osdi06/tech/weil.html Weil et al., Ceph: A Scalable, High-Performance Distributed File System (OSDI 2006)].
===[[DistOS 2019F 2019-11-13|November 13, 2019]] (online)===
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 2019F 2019-11-18|November 18, 2019]] (online)===
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 2019F 2019-11-20|November 20, 2019]] (online)===
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 2019F 2019-11-25|November 25, 2019]] (online)===
HTCondor
* [https://homeostasis.scs.carleton.ca/~soma/distos/2019f/thain2005-condor.pdf Thain et al., "Distributed Computing in Practice: The Condor Experience" (Concurrency and computation: practice and experience, Feb. 2005)]
* [https://research.cs.wisc.edu/htcondor/description.html HTCondor About Page]
* [https://en.wikipedia.org/wiki/HTCondor HTCondor on Wikipedia]
===[[DistOS 2019F 2019-11-27|November 27, 2019]] (online)===
SCOPE & Yarn
* [https://homeostasis.scs.carleton.ca/~soma/distos/2019f/chaiken2008-scope.pdf Chaiken et al., "SCOPE: Easy and Efficient Parallel Processing of Massive Data Sets" (PVLDB 2008)]
* [https://homeostasis.scs.carleton.ca/~soma/distos/2019f/vavilapalli2013-yarn.pdf Vavilapalli et al., "Apache Hadoop YARN: Yet Another Resource Negotiator" (SoCC 2013)]
* Optional: [https://homeostasis.scs.carleton.ca/~soma/distos/2019f/isard2007-dryad.pdf Isard et al., "Dryad: Distributed Data-Parallel Programs from Sequential Building Blocks" (Eurosys 2007)]
===[[DistOS 2019F 2019-12-02|December 2, 2019]] (online)===
Borg, Omega, Kubernetes
* [https://ai.google/research/pubs/pub41684.pdf Schwarzkopf et al., "Omega: flexible, scalable schedulers for large compute clusters" (EuroSys 2013)]
* [https://ai.google/research/pubs/pub43438.pdf Verma et al., "Large-scale cluster management at Google with Borg" (EuroSys 2015)]
* [https://ai.google/research/pubs/pub44843.pdf Burns et al., "Borg, Omega, and Kubernetes: Lessons learned from three container-management systems over a decade" (ACM Queue, Jan/Feb 2016)]
===[[DistOS 2019F 2019-12-04|December 4, 2019]] (online)===
Zookeeper & Sapphire
* [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)]
* [https://www.usenix.org/conference/osdi14/technical-sessions/presentation/zhang Zhang et al., "Customizable and Extensible Deployment for Mobile/Cloud Applications" (OSDI 2014)]
===[[DistOS 2019F 2019-12-06|December 6, 2019]] (online)===
Wrap-up Discussion
===December 13, 2019===
Final Exam Review, 3 PM in CB 2202 [https://homeostasis.scs.carleton.ca/~soma/distos/2019f/comp4000-20191213-finalreview.mp4 (audio)]
===December 15, 2019===
Final Exam, 7 PM in AT 102
===December 22, 2019===
Final Projects due
===Other readings===
Containers & Orchestration
* Wikipedia, [https://en.wikipedia.org/wiki/Operating-system-level_virtualization Operating-System-Level Virtualization]
* [https://en.wikipedia.org/wiki/Docker_(software) Wikipedia article on Docker]
* [https://docs.openshift.com/container-platform/3.11/architecture/index.html Openshift 3.11 Architecture]
"Serverless Computing"
* [https://en.wikipedia.org/wiki/Serverless_computing Wikipedia article on Serverless Computing]
* [https://en.wikipedia.org/wiki/Google_App_Engine Wikipedia article on Google App Engine]
* [https://en.wikipedia.org/wiki/AWS_Lambda Wikipedia article on AWS Lambda]
* [https://cloud.google.com/appengine/ Google App Engine]
* [https://docs.aws.amazon.com/lambda/latest/dg/welcome.html AWS Lambda Developer Guide]
* [https://serverless.com/framework/docs/ serverless documentation]

Latest revision as of 22:13, 19 March 2020

Course Outline

Here is the course outline.

Group Report Grading

Make sure your reports have the following (10 points total):

  • Briefly summarize the papers so report can be read by anyone (2 points)
  • Address most of the assigned discussion questions (4 points)
  • Write in an understandable form using complete sentences and paragraphs (2 points)
  • Reflect the discussion you had, reporting the questions that came up and points of debate (2 points)

Project Help

To develop your 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

September 4, 2019 (in person)

None

September 9, 2019 (online)

The Early Internet:

September 11, 2019 (online)

The Mother of All Demos:

September 16, 2019 (online)

The Alto:

September 18, 2019 (online)

Multics & UNIX:

Optional: Browse around the Multicians website.

September 23, 2019 (online)

LOCUS & NFS

September 25, 2019 (online)

Remote Procedure Calls

September 30, 2019 (online)

Distributed Shared Memory

October 2, 2019 (online)

Sprite, AFS, & Literature reviews

October 7, 2019 (online)

Amoeba & Clouds

October 9, 2019 (online)

Plan 9 & Inferno (no group report)

Second half of class will be a review for the midterm.

October 16, 2019 (in person)

Midterm exam (in class)

October 28, 2019 (online)

BOINC & Tapestry

Background (optional but helpful):

October 30, 2019 (online)

Farsite & Oceanstore

Project Proposal due Nov. 3rd.

November 4, 2019 (online)

GFS & Chubby

November 6, 2019 (online)

MapReduce & BigTable

November 11, 2019 (online)

NASD & Ceph

November 13, 2019 (online)

Cassandra & Dynamo

November 18, 2019 (online)

Haystack & F4

November 20, 2019 (online)

Spanner & Tensorflow

November 25, 2019 (online)

HTCondor

November 27, 2019 (online)

SCOPE & Yarn

December 2, 2019 (online)

Borg, Omega, Kubernetes

December 4, 2019 (online)

Zookeeper & Sapphire

December 6, 2019 (online)

Wrap-up Discussion

December 13, 2019

Final Exam Review, 3 PM in CB 2202 (audio)

December 15, 2019

Final Exam, 7 PM in AT 102

December 22, 2019

Final Projects due

Other readings

Containers & Orchestration

"Serverless Computing"