Differences

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

Link to this comparison view

education:da_2016 [2017/10/25 19:27] (current)
seredins created historical 2016 site
Line 1: Line 1:
 +====== Distributed Algorithms ======
  
 +**Master course, Fall 2016**
 +
 +**Prerequisites:​ none.**
 +
 +**Note: this course is independent from the course Concurrent Algorithms.**
 +
 +----
 +
 +===== News =====
 +  * Endterm details added.
 +  * The final exam will cover everything except population protocols and FIFO links (basically, only concepts taught by Prof. Guerraoui).
 +  * Q&A sessions will be held on 23rd January (today) at CM 1 4 from 3:15pm till 6pm.
 +  * Prof. Guerraoui'​s new book on concurrent computing for interested readers: {{:​education:​book.pdf|Concurrent computing}}.
 +  * Midterm grades are now published.
 +  * Exercise session for 5.12.16 will be on VS (Problem 2 in {{:​education:​da16_ex08.pdf|Ex08}}).
 +  * Midterm details added.
 +  * Links to Wandida short lectures on broadcast.
 +  * DA 2016 page is online.
 +
 +
 +----
 +
 +
 +===== 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.
 +  *  **Midterm:​** 28/11/2016 between 15:15 - 17:00.
 +
 +===== Midterm =====
 +  * Date: 28/11/2016
 +  * Time: 15:15 - 17:00
 +  * Content: Material from all courses and exercise sessions up to, and including, 21st of November.
 +  * Rooms: CM 1 1, CO3.
 +  * Room assignment: {{:​education:​da_midterm_2016_seating.pdf|seating_midterm.pdf}}
 +  * Midterm grades: {{:​education:​da_midterm_2016_grades.pdf|Midterm2016_grades.pdf}}
 +  {{ :​education:​da_midterm_dist.png?​800 |Dristribution}}
 +
 +
 +===== Endterm =====
 +  * Date: 31/01/2017
 +  * Time: 08:15 - 11:15
 +  * Content: Everything except population protocols and FIFO links (basically, only concepts taught by Prof. Guerraoui).
 +  * Rooms: CE 4, CE 6
 +  * Room assignment: {{:​education:​da_endterm_2016_-_seating.pdf|seating_enterm.pdf}}
 +
 +
 +===== Teaching team =====
 +
 +  * **Lecturers:​**
 +                  * Prof. Rachid Guerraoui, office INR 310, [[http://​lpd.epfl.ch/​rachid|web page]]
 +  * **Teaching Assistants:​**
 +                 * 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
 +                 * 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]]
 +
 +  * 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:​da16-reliablebroadcast.ppt.pdf|rb.pdf}} |{{:​education:​da16_ex02.pdf|ex02.pdf}} ​ {{:​education:​da16_sol02.pdf|sol02.pdf}}|
 +| Causal Broadcast | {{:​education:​da16-causalbroadcast.ppt.pdf|cb.pdf}} | {{:​education:​da16_ex03.pdf|ex03.pdf}} {{:​education:​da16_sol03.pdf|sol03.pdf}} \\ {{:​education:​da16_ex4.pdf|ex04.pdf}} {{:​education:​da2016_sol05.pdf|sol04.pdf}}|
 +| FIFO Links and Gossip | {{:​education:​da16-fifolinks-gossip.pdf|fg.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:​da16-consensus.ppt.pdf|consensus.pdf}}| {{:​education:​da16_ex06.pdf|ex06.pdf}} {{:​education:​da16_sol06.pdf|sol06.pdf}}|
 +| Atomic Commit | {{:​education:​da16-nbac.ppt.pdf|nbac.pdf}}|{{:​education:​da16_ex7.pdf|ex07.pdf}} {{:​education:​da16_sol07.pdf|sol07.pdf}}|
 +|TRB \\ GM & VSC| {{:​education:​da16-terminatingreliablebroadcast.ppt.pdf|TRB.pdf}} \\ {{:​education:​da16-groupmembershipvsc.ppt.pdf|GM_VSC.pdf}} |{{:​education:​da16_ex08.pdf|ex08.pdf}} {{:​education:​da2016_sol08.pdf|sol08.pdf}}|
 +|Midterm|{{:​education:​da2014_midterm.pdf|midterm_2014.pdf}} \\ {{:​education:​da2015_midterm.pdf|midterm_2015.pdf}} | {{:​education:​da16_midterm.pdf|mt2016_sol.pdf}} |
 +|Applications|{{:​education:​da16-applications.pdf|app.pdf}}|
 +|Population protocols|{{:​education:​da16emperor.ppt.pdf|pp01.pdf}} \\ {{:​education:​pp02.pdf|pp02.pdf}}|{{:​education:​da16_ex09.pdf|ex09.pdf}} {{:​education:​da16_sol09.pdf|sol09.pdf}}|
 +|Shared memory|{{:​education:​da16-sharedmemory.pdf|pp01.pdf}} |{{:​education:​da16_ex10.pdf|ex10.pdf}} {{:​education:​da16_sol10.pdf|sol10.pdf}}|
 +|Sample End-term quesionts|{{:​education:​da14_final.pdf|da14_endterm.pdf}} {{:​education:​da15_finalques.pdf|da15_endterm.pdf}} {{:​education:​da15_final_sol.pdf|da15_final_sol.pdf}}|
 +
 +----
 +
 +=====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.
 +
 +----