Distributed Systems Course (fall 2014/2015)
Lecturer: | Konrad Iwanicki |
---|---|
Assistants: | none |
Lectures: | Wednesday, 2:15 PM - 3:45 PM, Room 3230 |
Lab classes: | Wednesday, 4:15 PM - 5:45 PM, Room 3045 |
Final exam: | Wednesday, January 21, 2:15 PM - 3:45 PM (may be shorter), Room 3230 |
This (fifth) edition of the course consists of two components: lectures and lab classes. The lectures cover the principles, advanced concepts, and technologies of distributed systems, including communication, replication, fault tolerance, and security. The objective of the lab, in turn, is to give every student a chance to design, implement, and evaluate his own distributed system in the area of cloud computing. The course is recommended for graduate students attending the distributed systems seminar and following the DOS Master's track, as well as for other students interested in computer systems. The course may be given in English.
Contents |
---|
1. Passing Rules |
1.1. Lab Rules |
1.2. Exam Rules |
2. Lecture Topics and Schedule |
3. Lab Topics and Schedule |
4. Past Exams |
Passing Rules
To pass the course, a student has to score at least 60 out of a total of 100 points and pass the lab (see below). The points can be scored for:
- lab assignments: up to 50 points
- a written exam at the end of the semester: up to 50 points
The final grade is calculated as follows:
Points | 0-51 | 52-59 | 60-67 | 68-75 | 76-83 | 84-91 | 92-... |
---|---|---|---|---|---|---|---|
Grade | 2 (fail) | 2+ (fail) | 3 | 3+ | 4 | 4.5 | 5 |
Lab Rules
The goal of the lab is to allow each student build her own distributed system. The building process will consist of three assignments and one colloquium. To pass the lab, each student has to score a total of at least 26 points and a given number of points per each assignment. The breakdown of the scores and deadlines is as follows:
What | When | How many points | Min. required points |
---|---|---|---|
Colloquium | October 8, 2014, 16:00 CEST | 5 | 0 |
Assignment 1 | November 2, 2014, 23:59 CET | 10 | 6 |
Assignment 2 | December 28, 2014, 23:59 CET | 35 | 18 |
Assignment 3 | February 6, 2015* | 15 | 0 |
This is the final deadline. There are no extensions, even for spare lecture points. The assignment should be presented to the lecturer by this deadline. It is neccessary to schedule an appointment earlier. Failure to do so will result in not having the assignment graded.
At the beginning of the course, students may decide if they want to work on the assignments individually or in pairs. No larger groups will be allowed. The decision cannot be changed during the semester (after the colloquium). The lecturer will not regard any conflicts within pairs as circumstances affecting grades. In other words, if you work in a pair, choose your partner well.
Assignment solutions have to be handed in on time by submitting e-mails with topic “[DS2014] Solution X” to the lecturer (where X can be 1, 2, or 3). Since the lecturer receives an excessive number of e-mails, e-mails with different topics may be ignored. Moreover, each day of delay in submitting a solution results in multiplying the scores received for the solution by 0.9. Normally, the delay must not be more than 7 days, after which an assignment is considered as failed (the student receives 0 points). However, each day a student participates in both a lecture and a lab gives the student one extra day of delay (in this day, the points are not multiplied by 0.9). No future days during which the student intends to participate will be counted toward the reduction. For students working in pairs, the reduction will be counted as the average of the lectures attended by each of the participants (rounded if necessary).
It is allowed to talk about your ideas on solving the assignments with your colleagues. It is NOT allowed to show, share, exchange code (in any form) without a prior permission from the lecturer.
Exam Rules
The exam covers the lecture topics. It consists of a series of questions. Each question has three subquestions with binary (TRUE/FALSE) answers. A students scores a point for a question only if the answers to all subquestions of the question are correct. Conversely, if an answer to any subquestion of the question is incorrect, no point is given for the entire question. Note that these scoring rules are really demanding (cf. the scores for 2012/2013).
Lecture Topics and Schedule
Since this is still a developing course, this year's lectures will be given mostly based on a book by my PhD adviser and the head of my former research group: Maarten van Steen and Andrew S. Tanenbaum, “Distributed Systems: Principles and Paradigms,” Second Edition, Prentice Hall, 2007, 702 pages, ISBN 9780132392273. Purchasing the book is not mandatory as the lecture slides will be available here. There will be a few lectures with an extra material, though.
Date | Topics | Slides |
---|---|---|
October 1, 2014 |
Introduction: goals of distributed systems, common types of distributed systems |
lecture 01 |
October 8, 2014 |
Architectures: architectural styles, system architectures, self-management |
lecture 02 |
October 15, 2014 |
Processes: threads, virtualization, clients & servers, server clusters, code migration |
lecture 03 |
October 22, 2014 |
Communication: fundamentals, remote procedure call, message-oriented communication, stream-oriented communication, multicast communication |
lecture 04 |
October 29, 2014 | ||
November 5, 2014 |
Naming: basic terms and definitions, flat naming, structured naming, attribute-based naming |
lecture 06-07
and supplement |
November 12, 2014 | ||
November 19, 2014 |
Synchronization: clock synchronization, logical clocks, totally-ordered multicast, causally-ordered multicast mutual exclusion, global positioning of nodes, leader election |
lecture 08-09
and supplement |
November 26, 2014 | ||
December 3, 2014 |
Replication and Consistency (Part I): replica management, continuous consistency, data-centric consistency models, consistency protocols |
lecture 10 (selected slides) |
December 10, 2014 |
Canceled. Participating in a PhD committee in Amsteram |
|
December 17, 2014 |
Fault Tolerance (Part I): failure models, failure masking, failure detection, reliable client-server communication, atomic multicast, two-phase commit, three-phase commit, checkpointing, logging, recovery, agreement in faulty systems |
lecture 11 |
January 7, 2015 |
Fault Tolerance (Part II): agreement in faulty systems (continued), Paxos |
lecture 12 |
January 14, 2015 |
Replication and Consistency (Part I): CAP theorem, PACELC, eventual consistency, conflict-free replicated data types, client-centric consistency models |
lecture 13 |
January 21, 2015 | FINAL EXAM |
Lab Topics and Schedule
The schedule of lab classes is as follows:
Date | Materials |
---|---|
October 1, 2014 | Scenario 01 |
October 8, 2014 | Scenario 02 |
October 15, 2014 | Scenario 03 |
October 22, 2014 | Scenario 04 |
October 29, 2014 | Individual work; questions and answers |
November 5, 2014 | Scenario 05 |
November 12, 2014 | Scenario 06 |
November 19, 2014 | Scenario 07 |
November 26, 2014 | Scenario 08 |
December 3, 2014 | Scenario 09 |
December 10, 2014 | Canceled |
December 17, 2014 | Scenario 10 |
January 7, 2015 | Scenario 11 |
January 14, 2015 | Scenario 12 |
January 21, 2015 | Individual work; grading Assignment 2, questions and answers |
Past Exams
Below, you can find the questions from past exams:
Year | Exam Set | Participants | Points | ||||||
---|---|---|---|---|---|---|---|---|---|
Course | Exam | % | Available | Min | Avg | Med | Max | ||
2013/2014 | Final (test) | 16 | 16 | 100 | 25 | 11 | 14.69 | 13 | 21 |
2012/2013 | Final (test) | 34 | 34 | 100 | 25 | 3 | 10.33 | 10 | 22 |
2011/2012 | Final | 36 | 34 | 94.4 | 50 | 10 | 29.85 | 30.5 | 49 |
2010/2011 | Part II | 26 | 21 | 80.8 | 25 | 3.75 | 16.27 | 13.5 | 24.25 |
2010/2011 | Late Part I | 26 | 11 | 42.3 | 25 | 13.75 | 21.6 | 21.25 | 24.75 |
2010/2011 | Early Part I | 26 | 17 | 65.4 | 25 | 9.25 | 14.9 | 13.5 | 22 |
Last updated: .
Copyright © Konrad Iwanicki, 2010-2014.
http://www.mimuw.edu.pl/~iwanicki/