Differences

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

Link to this comparison view

education:da_2017 [2018/09/07 15:51] (current)
seredins created
Line 1: Line 1:
 +====== Distributed Algorithms ======
  
 +**Master course, Fall 2017**
 +
 +**Prerequisites:​ none.**
 +
 +**Note: this course is independent from the course Concurrent Algorithms.**
 +
 +----
 +
 +===== News =====
 +<​html>​ <span style="​color:​red;​font-size:​110%;">​The final exam will encompass all (and only) what Prof. Guerraoui presented, minus the class on Bitcoin/​Blockchain (18 December).</​span>​
 +</​html>​
 +
 +  * **[New]** Endterm details published.
 +  * Midterm grades and distribution published.
 +  * The class of 18 December will be in EL1 and will be a brief (distributed computing based) tutorial on Blockchain from 3:15 to 4:15, followed by a talk of Prof. Herlihy (Brown University)
 +  * Added midterm '17 solutions.
 +  * See the midterm details below.
 +  * Lecture room changed to CM 1.
 +  * Links to Wandida short lectures on broadcast.
 +  * DA 2017 page is online.
 +
 +
 +----
 +
 +
 +===== Dates and schedule =====
 +
 +  * The course is given on Mondays, 15:​15−17:​00,​ in CM 1.
 +  * The exercises are given on Mondays, 17:​15-18:​00,​ in BC01 and BC03.
 +
 +===== Midterm (bonus exam) =====
 +      * December 4, 3:15-5:00 pm.
 +      * Rooms CM 1 and CO 3. 
 +      * See {{ :​education:​midterm-17-rooms.pdf | rooms distribution}} to know which room you are assigned to.
 +      * There will be no exercises session after the exam.
 +      * Grades: {{ :​education:​da_grades_2017_-_grades_export_.pdf |}}
 +{{:​education:​da-midterm-17-distrib.png?​nolink&​600|}}
 +
 +===== Endterm =====
 +  * Final exam date: Monday, 15th of January 2018, 08h15 to 11h15
 +  * Room distribution {{ :​education:​distributed_algo_15.01.18.pdf | list}}:
 +    * A to H : SG 0211
 +    * I to Z : SG 1
 +
 +
 +
 +===== Teaching team =====
 +
 +  * **Lecturers:​**
 +                  * Prof. Rachid Guerraoui, office INR 310, [[http://​lpd.epfl.ch/​rachid|web page]]
 +  * **Teaching Assistants:​**
 +                 * 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
 +                 * Marjan Shahpaski <​marjan.shahpaski@epfl.ch>,​ office BC 316, [[https://​people.epfl.ch/​marjan.shahpaski|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
 +                 * El Mahdi EL MHAMDI ​ <​elmahdi.elmhamdi@epfl.ch>,​ office INR 210, [[https://​people.epfl.ch/​elmahdi.elmhamdi?​lang=en|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]]
 +
 +  * Wandida video lecture: [[http://​wandida.com/​en/​archives/​1743|Consensus in an unreliable network of processors]]
 +  * Wandida video lecture: [[http://​wandida.com/​en/​archives/​2138|Best Effort Broadcast]]
 +  * Wandida video lecture: [[http://​wandida.com/​en/​archives/​2144|Broadcasts:​ Best effort vs Regular Reliable vs Uniform Reliable]]
 +  * Wandida video lecture: [[http://​wandida.com/​en/​archives/​2140|Total Order Broadcast]] ​
 +
 +----
 +
 +===== 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:​da16-introduction.pdf|intro.pdf}} ​ |  {{:​education:​da16_ex01.pdf|ex01.pdf}} {{:​education:​logic_101_da_elmahdi.pdf|logic101.pdf}} ​ \\ {{:​education:​da16_sol01.pdf|sol01.pdf}} ​ {{:​education:​correctionlogic.pdf|Logic101Solution.pdf}} |
 +| Reliable Broadcast ​      |{{ :​education:​da17-reliablebroadcast.ppt.pdf |rb.pdf}} |{{:​education:​da16_ex02.pdf|ex02.pdf}} {{ :​education:​da16_sol02.pdf |sol02.pdf}}|
 +| Causal Broadcast ​      |{{ :​education:​da17-causalbroadcast.pdf |cb.pdf}} | {{ :​education:​da16_ex03.pdf |ex03.pdf}} {{ :​education:​da16_sol03.pdf |sol03.pdf}} |
 +| Channels in Practice + Gossip | {{ :​education:​da17-channels-gossip.pdf | channels-gossip.pdf }} | {{ :​education:​da16_ex4.pdf |ex04.pdf}}{{ :​education:​da2016_sol04.pdf |sol04.pdf}}|
 +| Total Order Broadcast | {{ :​education:​da16-totalorderbroadcast.ppt.pdf |tob.pdf}} | {{ :​education:​da2016_ex05.pdf |ex05.pdf}} {{ :​education:​da16_sol05.pdf |sol05.pdf}}|
 +| Consensus | {{ :​education:​da17-consensus.pdf |consensus.pdf}} |{{ :​education:​da16_ex06.pdf |ex06.pdf}} {{ :​education:​da16_sol06.pdf |sol06.pdf}} |
 +| Shared Memory | {{ :​education:​da16-sharedmemory.pdf |shared-memory.pdf}} | {{ :​education:​da16_ex10.pdf |ex07.pdf}} {{ :​education:​da17_ex07.pdf |ex07-2.pdf}} \\ {{ :​education:​da16_sol10.pdf |sol07.pdf}} {{ :​education:​da17_sol07.pdf |sol07-2.pdf}}|
 +| TRB \\ GM & VSC | {{ :​education:​da15-trb.ppt.pdf |TRB.pdf}} \\ {{ :​education:​da15-gmpvsc.ppt.pdf |GM-VSC.pdf}} | {{ :​education:​da17_ex08.pdf |ex08.pdf}} {{ :​education:​da17_sol08.pdf |sol08.pdf}} |
 +| Atomic Commit | {{ :​education:​da16-nbac.ppt.pdf |nbac.pdf}} | {{ :​education:​da17_ex09.pdf |ex09.pdf}} {{ :​education:​da17_sol09.pdf |sol09.pdf}}|
 +| Midterm | | {{:​education:​da2014_midterm.pdf|midterm_2014.pdf}} \\ {{:​education:​da2015_midterm.pdf|midterm_2015.pdf}} \\  {{:​education:​da16_midterm.pdf|mt2016_sol.pdf}} {{ :​education:​da17-midterm-solutions.pdf | da17-midterm-solutions.pdf}} |
 +| PBFT\\ Byzantine Generals problem ​             |{{:​education:​pbft.pdf|pdf}} \\ {{:​education:​byzantine-generals.pdf|pdf}} |Midterm & previous year exams discussion|
 +
 +----
 +
 +=====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 first week of december. It will be only counted as a bonus. Your grade = max{final, (final+midterm)/​2}
 +
 +  * Both the midterm and final exams are closed book: no materials are allowed.
 +  ​
 +
 +----