Distributed Algorithms

Master course, Fall 2015

Prerequisites: none.

Note: this course is independent from the course Concurrent Algorithms.


News

Last updated: 8 Febr, 2016, 10:06

  • [NEW] Endterm grades distribution and details.
  • Bonus project grades updated. See below.
  • Scripts updated on the git. Use the recent ones.
  • Project details updated.
  • Link to a survey paper on population protocols: http://www.cse.yorku.ca/~ruppert/papers/pop-survey.pdf
  • Midterm grades are updated.
  • Added the midterm exam from 2012 and from 2014.
  • Added the slides for Shared Memory lecture.
  • Finalised information about the midterm
  • Added information about the endterm
  • Added a link to a Latex sample for algorithm implementation
  • Added information about bonus project and midterm
  • Added the slides for the lectures on week 3 (causal & total order).
  • Added the solution to the first exercise session.
  • Added the first session of exercises.
  • Updated schedule and grading.
  • Created page for DA 2015.

Dates and schedule

  • The course is given on Mondays, 15:15−17:00, in ELA01.
  • The exercises are given on Mondays, 17:15-18:00, in BC01 & BC03.
  • Midterm: 23/11/2015 between 15:15 - 17:00; Q&A session: 16/11/2015 during the exercise session (17:15 - 18:00) and after it.
  • Final exam: 15/01/2016 (see below)

Bonus project

The bonus project is optional and may result in up to 1 additional point to the student's grade.

Deadline and submission

  • [NEW] Bonus grades: pdf
  • Deadline: 23/12/2015 23:59 (strict deadline)
  • To submit your project, please send a zip with your submission to Rhicheek rhicheek.patra@epfl.ch
  • All the information for the project can be found here: GitHub/LPD-EPFL/da15-s4
  • Test scripts for the project have been uploaded to the git. Please check that your projects are compatible with the scripts before submitting. Projects leading to errors like compilation, run-time or memory allocation would not be considered for bonus points.
  • Submit with subject as: [DA2015 project <prgramming language>]. For eg: [DA2015 project <java>] and zip file as: SCIPER_ID.zip.
  • Scripts:
    • People using java use: s4_correctness_java.sh and s4_performance_java.sh
    • People using other programming languages use: s4_correctness.sh and s4_performance.sh

—-

Midterm

  • Date: 23/11/2015
  • Time: 15:15 - 17:00
  • Content: Material from all courses and exercise sessions up to, and including, 16th of November.
  • Rooms: ELA01, CO3.
  • The assignment into rooms is based on your last name:
    • If your last name starts with A-G, you are in ELA01.
    • If your last name starts with H-Z, you are in CO3.
  • Grades: Grades.pdf
  • For viewing your answer scripts, visit the TAs at the mentioned office hours only.
    • Rhicheek Patra: Sciper-id is in the range 173889-223572
    • Adrian Seredinschi: Sciper-id is in the range 223606-254478
    • Mahsa Taziki: Sciper-id is in the range 254675-261146
    • Regrading any question can lead to increase or decrease of the allotted marks.
    • Grade distribution:

DA Midterms grade distribution


Endterm

  • Date: 15/01/2016 (Friday)
  • Time: 16:15-19:15
  • Rooms: SG 1, SG 0213, SG 0211
  • Office hours: Tuesday, 12.01, from 9-11.
  • Content: Will include material from all courses and exercise sessions except PBFT and Byzantines lectures.
  • Seating arrangements:
  • SG 1 : A to O
  • SG 0213 : P to R
  • SG 0211 : S to Z
  • Grades
    • Regrading any question can lead to increase or decrease of the allotted marks.
    • The grades are on ISA.
    • We are in the process of creating the solution to the exam and will upload it here.
    • If you wish to see you exam, please discuss with Mahsa Taziki mahsa.taziki@epfl.ch (INR 327) during her office hours or by appointment.
    • Grade distribution:

DA final grades distribution

Teaching team


Textbook

  • Rachid Guerraoui and Luis Rodrigues - Introduction to Reliable Distributed Programming, available at 'La Fontaine' (with a student discount) or at amazon.de.
  • Christian Cachin, Rachid Guerraoui and Luis Rodrigues - Introduction to Reliable and Secure Distributed Programming

Additional Material

  • We prepared a document describing the language used for module specification and implementation, the notion of layering, and the notion of process. (odt pdf)
  • A Latex sample for algorithm implementation can be found here: alg-sample.tex

Slides and exercises

Note that the slides will most likely be edited as the semester progresses, so make sure you have the latest version.

Lecture Slides Exercises
Introduction pdf ex01.pdf sol01.pdf
Reliable Broadcastpdf ex02.pdf sol02.pdf
Causal Broadcast
Total Order Broadcast
ppt pdf
pdf
ex03.pdf sol03.pdf
Applications for Broadcastpdfex04.pdf sol04.pdf
Consensus pdf ex05.pdf sol05.pdf
Non-Blocking Atomic Commit
Terminating Reliable Broadcast
Group Membership
pdf
pdf
pdf
ex06.pdf sol06.pdf
ex07.pdf sol07.pdf
Shared Memory pdf ex08.pdf sol08.pdf
Midterm 2015 da15_midterm_sol.pdf midterm (2012) midterm (2014)
PBFT
Byzantine Generals problem
pdf
pdf
Midterm 2015 discussion
* Distributed computing
on mobile devices
* Computability in
population protocols
pdf
pdf
ex09.pdf sol09.pdf
Self-stabilization
Self-stabilizing node coloring
pdf
pdf zip
ex10.pdf sol10.pdf
Sample Endterm Question sample.pdf pdfGood Luck!

—-

Information on exercises, grading, and exam

  • Exercises are made available on the course webpage each Monday.
  • Exercises are not graded and do not count towards the final grade. However, solving them helps you better understand the course material and prepare for the final exam.
  • Solutions to exercises will be given during the exercise sessions one week later after the exercises were given. Also, solutions will be available on the course webpage one week later after the exercises were given.
  • There will be a midterm in the second half of the semester. It is not mandatory, but it may improve the final grade (see below).
  • The final grade will be calculated using the formula max( 1/2*<midterm> + 1/2*<final> , <final> ), where <midterm> and <final> are the results of the midterm and the final exam, respectively. The final exam and the midterm will be written and closed-book.