Differences

This shows you the differences between two versions of the page.

Link to this comparison view

education:da_2015 [2016/10/24 15:56] (current)
seredins created
Line 1: Line 1:
 +====== 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: {{:​education:​da2015_bonus_project_final.pdf|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: [[https://​github.com/​LPD-EPFL/​da15-s4|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: {{:​education:​grades-midterm.pdf|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:​
 +       ​{{:​education:​grades_midterm.png|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:​
 +{{:​education:​da15-final-grades.png|DA final grades distribution}}
 +
 +===== Teaching team =====
 +
 +  * **Lecturers:​** ​
 +                  * Prof. Rachid Guerraoui, office INR 310, [[http://​lpd.epfl.ch/​rachid|web page]]
 +  * **Teaching Assistants:​**
 +                 * Rhicheek Patra <​rhicheek.patra@epfl.ch>,​ office INR 313, [[http://​people.epfl.ch/​rhicheek.patra|web page]], office hours: Wednesdays 10:00 - 11:00 or any time by appointment
 +                 * Adrian Seredinschi <​dragos-adrian.seredinschi@epfl.ch>,​ office INR 314, [[http://​people.epfl.ch/​dragos-adrian.seredinschi|web page]], office hours: Wednesdays 10:00 - 11:00 or any time by appointment
 +                 * Mahsa Taziki <​mahsa.taziki@epfl.ch>,​ office INR 327, [[http://​people.epfl.ch/​mahsa.taziki|web page]], office hours: Wednesdays 10:00 - 11:00 or any time by appointment
 +
 +
 +----
 +
 +
 +
 +
 +===== Textbook =====
 +
 +  * **Rachid Guerraoui and Luis Rodrigues** - //​Introduction to Reliable Distributed Programming//,​ available at 'La Fontaine'​ (with a student discount) or at [[http://​www.amazon.de/​Introduction-to-Reliable-Distributed-Programming/​dp/​3540288457/​ref=sr_1_1?​ie=UTF8&​s=books-intl-de&​qid=1220959274&​sr=8-1|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. ({{:​education:​protocol-language.odt|odt}} ​ {{:​education:​protocol-language.pdf|pdf}})
 +  * A Latex sample for algorithm implementation can be found here: [[https://​gist.github.com/​adizere/​bf7423045e05aa53c4f3|alg-sample.tex]]
 +
 +  * Short video lecture: [[http://​wandida.com/​en/​archives/​1743|Consensus in an unreliable network of processors]]
 +
 +----
 +
 +
 +
 +===== 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 ​             | {{:​education:​da15-introduction_new.pdf|pdf}} | {{:​education:​da15_ex01.pdf|ex01.pdf}} {{:​education:​da15_sol01.pdf|sol01.pdf}} |
 +|Reliable Broadcast|{{:​education:​da15-reliablebroadcast.ppt.pdf|pdf}}| {{:​education:​da15_ex02.pdf|ex02.pdf}} {{:​education:​da15_sol02.pdf|sol02.pdf}}|
 +|Causal Broadcast \\ Total Order Broadcast|{{:​education:​da15-causalbroadcast.ppt|ppt}} {{:​education:​da15-causalbroadcast.pdf|pdf}} \\ {{:​education:​da15-totalorderbroadcast.ppt.pdf|pdf}}|{{:​education:​da15_ex03.pdf|ex03.pdf}} {{:​education:​da15_sol03.pdf|sol03.pdf}} |
 +|Applications for Broadcast|{{:​education:​da15_reliable-causal-apps.pdf|pdf}}|{{:​education:​da15_ex04.pdf|ex04.pdf}} {{:​education:​da15_sol04.pdf|sol04.pdf}}|
 +| Consensus ​             | {{:​education:​da15-consensus.ppt.pdf|pdf}} | {{:​education:​da15_ex05.pdf|ex05.pdf}} {{:​education:​da15_sol05.pdf|sol05.pdf}}|
 +| Non-Blocking Atomic Commit ​ \\ Terminating Reliable Broadcast ​ \\ Group Membership ​         |{{:​education:​da15-nbac.ppt.pdf|pdf}} \\ {{:​education:​da15-trb.ppt.pdf|pdf}} \\ {{:​education:​da15-gmpvsc.ppt.pdf|pdf}}| {{:​education:​da15_ex06.pdf|ex06.pdf}} {{:​education:​da15_sol06.pdf|sol06.pdf}} \\ {{:​education:​da15_ex07.pdf|ex07.pdf}} {{:​education:​da15_sol07.pdf|sol07.pdf}}|
 +| Shared Memory ​             | {{:​education:​da15-sharedmemory4.ppt-joined.pdf|pdf}} |{{:​education:​da15_ex08.pdf|ex08.pdf}} {{:​education:​da15_sol08.pdf|sol08.pdf}}|
 +| Midterm 2015              | {{:​education:​da15_midterm_sol.pdf|da15_midterm_sol.pdf}} | {{:​education:​da12_midterm.pdf|midterm (2012)}} {{:​education:​da14_midterm.pdf|midterm (2014)}} |
 +| PBFT\\ Byzantine Generals problem ​             |{{:​education:​pbft.pdf|pdf}} \\ {{:​education:​byzantine-generals.pdf|pdf}} |Midterm 2015 discussion|
 +| * Distributed computing \\ on mobile devices\\ * Computability in\\ population protocols | {{:​education:​da15emperor.ppt.pdf|pdf}} \\ {{:​education:​pp_02.pdf|pdf}}| {{:​education:​ex09.pdf|ex09.pdf}} {{:​education:​sol09.pdf|sol09.pdf}} |
 +| Self-stabilization \\ Self-stabilizing node coloring|{{:​education:​stab.pdf|pdf}} \\ {{:​education:​coloring.pdf|pdf}} {{:​education:​autostab.zip|zip}}|{{:​education:​exercise.pdf|ex10.pdf}} {{:​education:​solution.pdf|sol10.pdf}}|
 +|Sample Endterm Question| {{:​education:​da14_final.pdf|sample.pdf}} {{:​education:​solution_dijsktra.pdf|pdf}}|Good 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.
 +
 +----