COMP 4000 (Fall 2020)
Distributed Operating Systems
Page last updated: Sep 2, 2020.
Overview: An advanced course emphasizing the principles of distributed operating systems including networking protocols, distributed file systems, remote IPC mechanisms, graphical user interfaces, load balancing, and process migration. Case studies include current “standards” as well as novel systems under development.
Topics covered: Distributed OS origins and history, historical operating systems (Multics, UNIX), Remote procedure calls, network file systems, distributed databases, distributed shared memory, containers, the browser/server model, security in distributed operating systems.
- Classes: Wednesdays 2:35 pm - 3:55 pm (online via Zoom)
- Instructor: David Barrera ( davidbarrera at cunet.carleton.ca )
- TA: Kevin Guy ( kevinguy at cmail.carleton.ca )
- Class Office hours (online via Zoom): Mondays 2:35 pm - 3:55 pm or by appointment
- TA Office hours (online via Discord): Mondays 2:35 pm - 3:55 pm or by appointment
- Prerequisites: one of COMP 3203 or SYSC 4602, and one of COMP 3000, SYSC 3001, SYSC 4001.
- Course textbook: None. Required readings are available online, or accessible through the university library. Suggested OS reference: Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau - Operating Systems: Three Easy Pieces
Grading Scheme
- 25% Topic prep quizzes
- 25% Topic comprehension quizzes/reports
- 40% Group project (details on cuLearn)
- 30% Milestone 1: RPC Basics (due Oct 14)
- 30% Milestone 2: RPC + FUSE (due Nov 16)
- 30% Milestone 3: Fault tolerance and authentication (due Dec 9)
- 10% Written report (due Dec 16)
- 10% Online participation
Study Group Leadership An alternative grading scheme is available for volunteers who participate in the first year mentorship program as a study group leader (details to be discussed in class). For these students, the group project will have a weight of 35% instead of 40%. The remaining 5% will be awarded based on performance as a study group leader. An additional 5% bonus may be awarded (allowing volunteers to potentially obtain a final grade of 105/100) to excellent mentors.
cuLearn: We will use the cuLearn course management system for submitting assignments and projects, as well as for online discussion and access to additional resources.
Use of SCS OpenStack All project milestones with the exception of the written report must be completed on one or more virtual machines on the SCS OpenStack infrastructure. Milestones and final project must demonstrate working live demos on the OpenStack VMs.
Participation: This course is taught as a “flipped classroom”. Students are given prep materials before each topic (readings, videos, activities), and are actively involved during class time for discussions, activities, challenges, etc. to deepen understanding of the topic. Attendance is thus mandatory, and in-class participation is worth 10% of the final grade. If you are not living in Ottawa this term or live in a different time zone, email the instructor during the first week of class including your student ID and details of your country/time zone, to discuss if suitable accommodations can be made.
Timeliness: Prep quizzes may be tried an unlimited number of times before the start of each class. Any student who has not obtained a passing grade for the quiz by the start of class will receive 0 for that quiz. Topic comprehension assessment and project milestones will be penalized 10 points per day late. Please contact the instructor as early as possible if you will be unable to meet any deadline.
Tentative Schedule
(Subject to change. Updates will be posted on cuLearn and on the instructor’s website)
Week 1: Introduction
Week 2: The early internet and ARPANET
Week 3: Multics and UNIX
Week 4: Remote Procedure Calls
Week 5: Network File Systems I
Week 6: Network File Systems II
Week 7: Plan 9
Week 8: Fall Break
Week 9: Distributed File Systems
Week 10: Distributed Databases
Week 11: Distributed Shared Memory
Week 12: Containers
Week 13: The Web
Week 14: Security
University Policies
Student Academic Integrity Policy. Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Examples of punishable offences include: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found here.
Plagiarism. As defined by Senate, “plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one’s own”. Reported offences will be reviewed by the office of the Dean of Science.
Unauthorized Co-operation or Collaboration. Senate policy states that “to ensure fairness and equity in assessment of term work, students shall not co-operate or collaborate in the completion of an academic assignment, in whole or in part, when the instructor has indicated that the assignment is to be completed on an individual basis”. Please refer to the course outline statement or the instructor concerning this issue.
Academic Accommodations for Students with Disabilities. The Paul Menton Centre for Students with Disabilities (PMC) provides services to students with Learning Disabilities (LD), psychiatric/mental health disabilities, Attention Deficit Hyperactivity Disorder (ADHD), Autism Spectrum Disorders (ASD), chronic medical conditions, and impairments in mobility, hearing, and vision. If you have a disability requiring academic accommodations in this course, please contact PMC at 613-520-6608 or pmc@carleton.ca for a formal evaluation. If you are already registered with the PMC, contact your PMC coordinator to send your course instructor your Letter of Accommodation at the beginning of the term, and no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). After requesting accommodation from PMC, meet with your course instructor to ensure accommodation arrangements are made. Please consult the PMC website for the deadline to request accommodations for the formally-scheduled exam (if applicable) at http://www2.carleton.ca/pmc/new-and-current-students/dates-and-deadlines
Accommodation for Student Activities. Carleton University recognizes the substantial benefits, both to the individual student and for the university, that result from a student participating in activities beyond the classroom experience. Reasonable accommodation must be provided to students who compete or perform at the national or international level. Please contact your instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. More information can be found here.
Survivors of Sexual Violence. As a community, Carleton University is committed to maintaining a positive learning, working and living environment where sexual violence will not be tolerated, and survivors are supported through academic accommodations as per Carleton’s Sexual Violence Policy. For more information about the services available at the university and to obtain information about sexual violence and/or support, visit: carleton.ca/sexual-violence-support
Religious Obligation: Write to the course instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: http://www2.carleton.ca/equity/
Pregnancy Obligation: Write to the course instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details visit the Equity Services website: http://www2.carleton.ca/equity/
Medical Certificate: The official medical certificate (form) accepted by Carleton University for the deferral of final examinations or assignments in undergraduate courses can be accessed from: http://www.carleton.ca/registrar/forms