Byzantine Agreement - Map Reduce




CS255

Chris Pollett

Mar 4, 2015

Outline

Byzantine Agreement Problem

More on the Set-up of the Byzantine Problem

Some More Remarks before we Begin

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