Byzantine Agreement - Map Reduce




CS255

Chris Pollett

Mar 5, 2018

Outline

Byzantine Agreement Problem

More on the Set-up of the Byzantine Problem

Some More Remarks before we Begin

Quiz

Which of the following statements is true?

  1. Our parallel MIS algorithm always outputs the lexicographically first maximal independent set.
  2. The odds that the Synch-CCP protocol doesn't stop in 3 rounds is at least 1/2.
  3. Parallel MIS had an expected running time on EREW PRAM of `O(log^2 n )`.

Randomized Algorithm for Byzantine Agreement

What the ith Processor does (if it is good).

Input: A value for b[i], our current decision choice. 
Output: A decision d[i].
1. vote = b[i].
2  For each round, do
3.    Broadcast vote;
4.    Receive votes from all the other processors.
5.    Set maj = majority (0 or 1) value among the votes cast
6.    Set tally = the number of votes that maj received.
7.    If coin = heads then set threshold = L; else set threshold = H
8.    If tally >= threshold then set vote = maj; else vote = 0
9.    If tally >= G then set d[i] = maj permanently.

Analysis

Parallel and Distributed Algorithms so Far

Map Reduce

Example of How Map Reduce Might be Useful

The Basic Framework

Distinct Phases of a MapReduce Job

Example MapReduce Job for Counting

Example map reduce job for counting

Parallelizing Map Reduce

Combiners

Fault Tolerance