Purpose
Distributed computing deals with hardware containing more than one processing element or storage element, concurrent processes which may be run loosely or tightly coupled. Distributed systems are difficult to build and understand . Failures are common. A well-engineered system tolerates failures and repairs any damage they cause. This course will start out with a series of lectures on the basic principles and techniques that one can use to achieve a high-quality, trustworthy and fault tolerant distributed systems. We will discuss how these principles apply to cloud computing. Cloud computing is a style of computing in which IT-related capabilitise are provided as a service that can be accessed by users from the Internet without knowledge of, expertise with, or control over the technoogy infrastructure that supports them. According to a 2008 paper published by IEEE Internet Computing "Cloud Computing is a paradigm in which information is permanently stored in servers on the Internet and cached temporarily on clients that include desktops, entertainment centers, tablet computers, notebooks, wall computers, handhelds, sensors, monitors, etc;". We will then look at the latest advances with a critical analysis of recently published papers.
Prerequisites
Operating Systems (CS 3305) is required. Ideally you also have a course in computer networks.
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 CS843 website is at http://www.csd.uwo.ca/hanan/cs843. 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%Reviews: 20%
Presentation of a Technology: 15%
Presentation of a Paper: 15%
Project: 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 each class.
Presentations
Each student is expected to be involved in two presentations.
The first type of presentation requires each student 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 thirty 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..
The other type presentation should focus on a specific technology or system. Examples include Amazon, IBM's Blue Cloud, Facebook, Facebook, eBay, etc; These presentations should provide insight into the functionality and the algorithms and designs used. This can be a joint presentation involving 2 to 3 students.Presentations are expected to start in March. More information will be provided later.
Project (due end of the term)
This course requires that you complete a term
project. This project is of your own choice and may be done in a group
(of size 2 or 3). This project must be in the area of distributed or
operating systems. The project should have a sufficiently
challenging component and have some "risk". A typical
project would be implementation-based or may include a
simulation. However, in some cases a significant
paper-design will be accepted. The exact project will be
determined by groups with significant input from the instructor.
A
project can propose a new idea. This often requires a proof of
concept in the form of a detailed design document and a either a
simulation or an implementation. A project can take an idea or
system from an existing paper and experiment with it. Another
project can involve the development of a distributed application with
characterstics that are new. Each project requires a
presentation/ and/or demo and a final project report in the form of a
conference paper. Dates for the project are the following:
- Feb 9: Project proposal (2 to 3 pages)
- March 6: Progress report (2 to 3 pages)
- April (exact days to be determined): Presentation
- April 30: Report is handed in
Topics
Topics include the following:- Models of time and event ordering
- Replication and fault tolerance
- Consistency models
- Distributed file systems
- P2P systems
- Virtualizatons
- Cloud computing applications and Map-Reduce
Scholastic Offences
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.