Purpose
This course covers architectures, programming techniques and distributed algorithms for large scale distributed systems. Students will study state-of-the-art solutions for large scale distributed systems such as those developed by Google, Amazon, Microsoft, Yahoo, etc.
Prerequisites
Operating Systems (CS 3305) is required.
Instructor
Dr. Hanan Lutfiyya
Office: Middlesex College 418
Office Hours: By appointment.
Phone: 661-2111 Ext. 86888
E-mail: hanan (at) csd.uwo.ca
Textbook
This course will not have textbook. A reading list consisting of papers will be provided.
Course Website
The CS610 website is at http://www.csd.uwo.ca/faculty/hanan/610. Papers, presentations, project and assignment descriptions, and class information will be posted on this website. You are responsible for reading this information frequently.
E-mail Contact
We will occasionally need to send email messages to the whole class or to students individually. Email will be sent to your csd email address. You must make sure that you read your email on csd on a frequent and regular basis.
Student Evaluation (Tentative; Depends on Class Size)
Class Participation: 10%Paper Reviews: 20%
Presentation of a Paper: 15%
Survey: 15%
Assignments: 40%
Class Participation
Good systems research is often the result of debate and discussion of existing systems. This course highly encourages discussion through questions and debate.
Reviews
You will be providing a paper critique for a selected set of papers. The critique is not just a summary of the paper's content. It is intended to be a brief analysis of the key ideas in the paper and your critical opinion of them. You are encouraged to point out flaws, limitations, or interesting applications of the ideas that go beyond what was said in the paper. Reviews are due at the start of a class.
Presentations
Each student is to present a paper. Let us imagine that we are evaluating papers for a conference. Each student will be assigned a paper to review and present. The papers will be discussed as if they are being evaluated by a program committee. Each paper will be discussed for about thirdy minutes by three students: a presenter, an advocate, and a devils advocate. The rest of the class acts as the program committee. The presenter gives a fifteen-minute presentation briefly describing the paper. The presenter should be as neutral as possible in their presentation. After the presentation, the advocate has five minutes to convince the class that the paper should be accepted. After this, the devil's advocate is given five minutes to convince the class that the paper should be rejected. A five-minute question-and-answer period follows these presentations. The class then votes to accept or reject the paper for our conference. The vote is by written ballot.
Presentations are expected to start in March. More information will be provided later.
Survey
You can write a survey paper that covers at least three papers from any relevant topic. Your paper should 1) identify the main challenges and problems in the area you are surveying, 2) compare the solutions proposed by the papers and outline strengths and weaknesses of each, and 3) suggest future research directions that might be of interest to you. The survey paper must be done individually.Dates for the survey are the following:
- Feb 8: Survey proposal (1 page): This should be the topic that you plan to study.
- March 8: Progress report (1-2 pages): This should be the papers that will be included in your survey and why these papers have been selected.
- Last two weeks of classes (approximately): Presentation
- April 15: Survey report is handed in
Topics
Topics include the following:- Architectures
- Interprocess Communications: Sockets, RPC
- Distributed naming: DNS,URIs,URLs
- Clock Synchronization: Logical clocks, vector clocks
- Distributed hash tables
- Distributed algorithms
- Replication and Agreement algorithms
- Content Distribution Networks
- Fault Tolerance Mechanisms
- Storage systems
- Case Studies: Google, Amazon, Facebook
- Other topics
Scholastic Offenses
Assignments
Academic dishonesty in assignments includes (but is not limited to):
- unacceptable collaboration
What is unacceptable? There is a difference between discussing assignments and solutions with fellow students, and working together on the solutions to the point where the work submitted is clearly not individual work. If in doubt, ask your instructor. - copying of another student's assignment
- allowing another student to copy
- using code from an external source (text, instructor, course website) where a student's own code is expected ( if in doubt, ask your instructor)
- altering of assignment results.
Assignments that are judged to be the result of academic dishonesty will, for the student's first offence, be given a mark of zero with an additional penalty equal to the weight of the assignment also being applied. The assignment(s) in question will be kept by the Department.
We expect our students to conduct themselves academically in a manner that upholds the integrity and reputation of our academic programs. Cheating on assignments or exams is considered to be a serious violation of ethical conduct, and will not be tolerated.
Essays, Term Papers and Project Reports
Plagiarism is a serious academic offence. The UWO Senate Academic Handbook defines plagiarism as "The act of appropriating the literary composition of another, or parts or passages of his writings, or the ideas or language of the same, and passing them off as the product of one's own mind." ( Excerpted from H.C. Black, Black's Law Dictionary, West Publishing Co., 1979, 5th ed., p. 1035.)
Students must write their essays and term papers in their own words. Whenever you take an idea or a passage of text from another author, you must acknowledge the source both by using quotation marks where appropriate, and by properly attributing it to the author by using a citation or footnotes. For further clarification of what constitutes plagiarism, refer to the paper titled "Collaboration, Plagiarism, and Proper Attribution" by Professor Jamie Andrews. If in doubt, consult with your instructor.
An essay, term paper of project report that is judged to be the result of academic dishonesty will result in a zero in the course.
Scholastic Offences (Graduate Students)
The instructor will report all scholastic offences to the Graduate Chair. The Graduate Chair in consultation with the Dean of Graduate Studies (see page 26 of the Graduate Calendar) will make a final decision on the penalty.
The Graduate Chair will recommend to the Dean of Graduate Studies required withdrawal from the university for a second offense.