0% found this document useful (0 votes)
48 views

CH - 9 A Greem en T Protocols: 9.1 in Trod U Ction

This document describes various agreement protocols for distributed systems. It begins by introducing the agreement problem and defining the requirements for a solution. It then discusses the system model, including synchronous vs asynchronous computations and different types of processor failures. It provides a classification of three well-known agreement problems: Byzantine agreement, consensus, and interactive consistency. The document proceeds to describe solutions to the Byzantine agreement problem, including an impossibility result and algorithms by Lampson-Shostak-Pease and Dolev-Sussman-Waarts. In 3 sentences or less: This document covers agreement protocols for distributed systems, defining the problem and requirements, system models, and classifications of agreement problems including Byzantine agreement. It analyzes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
48 views

CH - 9 A Greem en T Protocols: 9.1 in Trod U Ction

This document describes various agreement protocols for distributed systems. It begins by introducing the agreement problem and defining the requirements for a solution. It then discusses the system model, including synchronous vs asynchronous computations and different types of processor failures. It provides a classification of three well-known agreement problems: Byzantine agreement, consensus, and interactive consistency. The document proceeds to describe solutions to the Byzantine agreement problem, including an impossibility result and algorithms by Lampson-Shostak-Pease and Dolev-Sussman-Waarts. In 3 sentences or less: This document covers agreement protocols for distributed systems, defining the problem and requirements, system models, and classifications of agreement problems including Byzantine agreement. It analyzes
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Ch .

9 Agreem en t Protocols
9.1 In trodu ction
In d istribu ted system s, w h ere sites (or p rocessors) often com p ete as
w ell as coop erate to achieve a com m on goal, it is often requ ired th at
sites reach m u tu al agreem ent .
- Ex) In d istribu ted d atabase system s, d ata m an agers at sites m u st
agree on w h eth er to com m it or to abort a tran saction .
Th e form al settin g for a distribu ted agreem ent p rotocol is th e
followin g : Th ere are M p rocessors P=p 1 ,...,p M th at are tryin g to reach
agreem ent . A su bset F of th e p rocessors are fau lty, an d rem ainin g
p rocessors are n onfau lty . Each p rocessor p i P stores a valu e Vi .
Du rin g th e agreem ent p rotocol, th e p rocessors calcu late an agreem ent
v alu e A i . After th e p rotocol en d s, th e followin g tw o con d ition s sh ou ld
h old :
For every p air p i an d p j of n on fau lty p rocessors, A i = A j . This
v alu e is th e agreem en t valu e.
Th e agreem ent valu e is a fu nction of th e initial valu es {Vi } of th e
n onfau lty p rocessors (P - F).

9.2 Th e System Model


Agreem ent p roblem s h ave been stu d ied u n d er th e followin g system
m od el:
Th ere are n p rocessors in th e system an d at m ost m of th e p rocessors
can be fau lty .
Th e p rocessors can d irectly com m u nicate w ith oth er p rocessors by
m essage p assin g .
A receiver p rocessor alw ays kn ow s th e id entity of th e sen d er p rocessor
of th e m essage.
Th e com m u nication m ed iu m is reliable (i.e., it d elivers all m essages
w ith ou t introd u cin g an y errors) an d only p rocessors are p ron e to
failu re.

- 1 -

9.2.1 Synchron ou s vs. Asynchron ou s Com p u tation s


Syn chron ou s com p u tation
A p rocess receives m essages

(1 rou n d ), p erform s a com p u tation

(2 rou n d ), an d sen d m essages to oth er p rocesses (3 rou n d).


Asynch ron ou s com p u tation
Th e com p u tation at p rocesses d oes n ot p roceed in lock step s. A
p rocess can sen d an d receive m essages an d p erform com p u tation at
any tim e.
9.2.2 Mod el of Processor Failu res
A p rocessor can fail in three m od es:
Crash fau lt : a p rocessor stop s fu nctionin g an d n ever resu m es
op eration .
Om ission fau lt : a p rocessor "om its" to sen d m essages to som e
p rocessors.
Maliciou s fau lt (Byzantin e fau lts): a p rocessor beh aves ran d om ly an d
arbitrarily .
9.2.3 Au th enticated v s. N on-Au th enticated Messages
Au th enticated m essage system
A (fau lty) p rocessor cann ot forge a m essage or ch an ge th e contents of
a received m essage.
A p rocessor can verify th e au th enticity of a received m essage.
An au th enticated m essage is also called a sign ed m essage.
N on-au th en ticated m essage system
A (fau lty) p rocessor can forge a m essage an d claim to h ave received it
from an oth er p rocessor or ch an ge th e contents of a received m essage
before it relays th e m essage to oth er p rocessors.
A p rocessor h ave n o w ay of verifyin g th e au th enticity of a received
m essage.
A n on-au th enticated m essage is also called an oral m essage.
9.2.4 Perform ance Asp ects

- 2 -

Perform ance of agreem ent p rotocols


tim e: th e nu m ber of rou n d s
m essage traffic: th e nu m ber of m essages exch an ged to reach an
agreem ent
storage overh ead : th e am ou nt of inform ation th at n eed s to be stored at
p rocessors d u rin g th e execu tion of a p rotocol.

9.3 A Classification of A greem en t Protocols


Three w ell kn own p roblem s
Byzantin e agreem ent p roblem
Con sen su s p roblem
Problem
Wh o initiates
th e valu e
Fin al agreem ent

Byzantin e

Con sen su s

On e p rocessor

All p rocessors

Sin gle valu e

Sin gle valu e

Interactiv e
Con sistency
All p rocessors
A v ector of
v alu es

Interactive con sistency p roblem


Byzantin e agreem ent p rotocol
A sin gle valu e, w hich is to be agreed on, is in itialized by an arbitrary
p rocessor an d all n onfau lty p rocessors h ave to agree on th at valu e.
Con sen su s p roblem
Every p rocessor h as its ow n initial valu e an d all n onfau lty p rocessor
m u st agree on a sin gle com m on valu e.
Interactive con sistency p roblem
Every p rocessor h as its ow n initial valu e an d all n onfau lty p rocessors
m u st agree on a set of com m on valu es.
Th e th ree agreem ent p roblem s
9.3.1 Th e Byzantin e Agreem ent Problem
Three gen erals can n ot reach Byzan tin e agreem ent

- 3 -

An arbitrarily ch osen p rocessor, called th e source processor, broad casts


its initial v alu e to all oth er p rocessors.
A solu tion to th e Byzantin e agreem ent p roblem sh ou ld m eet th e
followin g tw o objectiv es:
Agreem ent : All n onfau lty p rocessors agree on th e sam e valu e.
Valid ity : If th e sou rce p rocessor is n onfau lty, th en th e com m on agreed
u p on valu e by all n on fau lty p rocessors sh ou ld be initial valu e of th e
sou rce.
Tw o p oints sh ou ld be n oted :
If th e sou rce p rocessor is fau lty, th en all n onfau lty p rocessors can
agree on any com m on valu e.
It is irrelev an t wh at valu e fau lty p rocessors agree on or wh eth er th ey
agree on a valu e at all.
9.3.2 Th e Con sen su s Problem
Every p rocessor broad casts its initial v alu e to all oth er p rocessors.
Initial valu es of th e p rocessors m ay be d ifferent .
A p rotocol for reachin g con sen su s sh ou ld m eet th e follow in g
con d ition s:
Agreem ent : All n onfau lty p rocessors agree on th e sam e sin gle valu e.
Valid ity : If th e intial valu e of every n onfau lty p rocessor is v, th en
agreed u p on com m on valu e by all n on fau lty p rocessor m u st be v .
N ote th at if th e initial v alu es of n onfau lty p rocessors are d ifferent,
th en all n onfau lty p rocessors can agree on any com m on valu e.

- 4 -

9.3.3 Th e Interactive Con sistency Problem


Every p rocessor broad casts its initial v alu e to all oth er p rocessors. Th e
initial valu es of th e p rocessors m ay be different .
A p rotocol for th e interactive con sistency p roblem sh ou ld m eet th e
followin g con d ition s:
Agreem ent : All n onfau lty p rocessors agree on th e sam e vector, (v 1 , v 2 ,
..., v n ).
Valid ity : If th e ith p rocessor is n onfau lty an d its initial valu e is v i ,
th en th e ith v alu e to be agreed on by all n onfau lty p rocessors m u st
be v i .
N ote th at if th e jth p rocessor is fau lty, th en all n onfau lty p rocessors
can agree on any com m on valu e for vj .
9.3.4 Relation s am on g th e Agreem en t Problem s
Th e Byzantin e agreem en t p roblem is p rim itive to th e oth er tw o
agreem ent p roblem s.

9.4 Solu tion s to th e Byzan tin e Agreem en t Problem


Th e Byzantin e agreem en t p roblem is also referred to as th e Byzan tin e
generals p roblem .
9.4.1 An Im p ossibility Resu lt
We n ow sh ow th at a Byzantin e agreem ent can n ot be reach ed am on g
three p rocessors, w h ere on e p rocessor is fau lty .
Con sid er a system w ith three p rocessors, p 0 , p 1 , an d p 2 . For sim p licity,
w e assu m e th at th ere are only tw o valu es, 0 an d 1, on w hich
p rocessors agree an d p rocessor p 0 initiates th e initial valu e.
Case : p 0 is n ot fau lty .
Since p 0 is n onfau lty, p rocessor p 1 m u st accep t 1 as th e agreed u p on
v alu e if con dition 2 is to be satisfied .

- 5 -

Case : p 0 is fau lty


p 0 w ill agree on a valu e of 1 an d p 2 w ill agree on a valu e of 0,
w hich w ill violate con d ition 1 of th e solu tion .

9.4.2 Lam p ort-Sh ostak-Pease Algorithm


Lam p ort et al.' s algorithm , referred to as th e Oral Message algorith m
OM (m ), m >0, solves th e Byzantin e agreem en t p roblem for 3m +1 or
m ore p rocessors in th e p resence of at m ost m fau lty p rocessors. Let n
d en ote th e total nu m ber of p rocessors (clearly, n3m +1).
Algorithm OM (0)
1. Th e sou rce p rocessor sen d s its valu e to ev ery p rocessor .
2. Each p rocessor u ses th e valu e it receives from th e sou rce. (If it
receives n o valu e, th en it u ses a d efau lt valu e of 0)
Algorithm OM (m ), m >0.
1. Th e sou rce p rocessor sen d s its valu e to ev ery p rocessor .
2. For each i, let v i be th e valu e p rocessor i receives from th e sou rce.
(If it receives n o v alu e, th en it u ses a d efau lt valu e of 0.). Processor
i acts as th e n ew sou rce an d initiates Algorith m OM (m -1) w h erein it

- 6 -

sen d s th e valu e v i to each of th e n-2 oth er p rocessors.


3. For each i an d each j ( i), let vj be th e valu e p rocessor i received
from p rocessor j in Step 2. u sin g Algorithm OM (m -1). Processor i
u ses th e valu e m ajority (v 1, v 2 , ..., v n - 1 ).
Th e m essage com p lexity of th e algorithm is O (nm ).
Exam p le 1

An execu tion of BG(2) on seven gen erals.


O i rep resents th e com m an d sent to Li , an d Li : O i is Li ' s rebroadcast
of its com m an d . Lj : Li : O i is Lj ' s rebroadcast of wh at Li said h is
ord er w as.

- 7 -

9.4.3 Dolev et al.' s Algorithm


Th e algorithm requ ires u p to 2m +3 rou n d s to reach an agreem ent .
Data Stru ctu re
Th e algorithm u ses tw o thresh old s: LOW an d H IGH, wh ere
LOW :=m +1 an d HIGH :=2m +1.
Th e basic id ea is th at any su bset of p rocessors of size LOW w ill h av e
at least on e n onfau lty p rocessor .
Any su bset of p rocessors of size HIGH inclu d es a m ajority of
p rocessors, th at is, m +1, th at are n on fau lty .
Th e algorithm u ses tw o typ es of m essages: a "*" m essage an d a
m essage con sistin g of th e n am e of a p rocessor .
- Th e "*" d en otes th e fact th at th e sen d er of th e m essage is sen d in g a
v alu e of 1 an d th e n am e in a m essage d en otes th e fact th at th e
sen d er of th e m essage received a "*" from th e n am ed p rocessor .
W

i
x

: th e set of p rocessors th at h ave sen t m essage x to p rocessor i.

(N ote th at x is eith er a "*" or a p rocessor n am e.)


- Each p rocess m aintain s n +1 nu m bers of W sets.
- W xi : th e set of witnesses of m essage x for p rocessor i.
- A p rocessor j is a direct supporter for a p rocessor k if j directly
receives "*" from k .

- 8 -

- Wh en p rocessor i receives th e m essage "k " from p rocessor j, it ad d s j


into

i
x

becau se j is a w itn ess to m essage "k ". Process j is an

indirect supporter for p rocessor k if | W jk | L O W;


- A p rocessor j confirm s p rocessor k if | W jk | H I GH ;
A p rocess i m aintain s a set, Ci , of confirm ed p rocessors.
Th e Algorithm
First rou n d : th e sou rce p rocessor sen d s a "*" m essage to all p rocessors
(inclu din g itself) if its valu e is 1. If its valu e is 0, it sen d n othin g in
th e first rou n d . If th e p rocessors fin ally agree on "*", th en th e agreed
u p on valu e is 1. Oth erw ise, th e agreed u p on valu e is 0.
Su bsequ ent rou n d s: a p rocessor sen d s its m essage to all p rocessors,
receives m essages from oth er p rocessors, an d th en d ecid es w h at
m essages to sen d in th e n ext rou n d .
initiation op eration
-

It initiates in th e secon d rou n d if it receiv es a "*" from th e sou rce


in rou n d 1.
- It initiates in th e K+1st rou n d if at th e en d of Kth rou n d th e
card in ality of th e set of th e con firm ed p rocessors (n ot inclu din g th e
sou rce) at least L O W+ m ax (0 ,

K
2

- 2) (referred to as th e condition

of initiation).
Fou r ru les
In th e first rou n d , th e sou rce broad casts its valu e to all oth er
p rocessors.
In a rou n d k>1, a p rocessor broad casts th e n am es of all p rocesses
for w hich it is eith er a d irect or in d irect su p p orter an d wh ich it
h as n ot p reviou sly broadcast . If th e con dition of initiation w as tru e
at th e en d of th e p reviou s rou n d , it also broadcasts th e "*" m essage
u nless it h as p reviou sly d on e so.
If a p rocessor confirm s H IGH nu m ber of p rocessors, it com m its to
a valu e of 1.
After rou n d 2m +3, if th e valu e 1 is com m itted , th e p rocessors agree
on 1; oth erw ise, th ey agree on 0.
Exam p le

- 9 -

p rocessors, 3m +1
fau lty p rocessors, m
sou rce is n onfau lty .

Th e sou rce p rocessor broadcasts a "*" in th e first rou n d . In th e secon d


rou n d, 2m n onfau lty p rocessors w ill initiate (i.e., broadcast "*"). In th e
third rou n d, 2m +1 n onfau lty p rocessors (inclu d in g th e sou rce) will
broadcast m essages con tainin g th e n am e of th e p rocessors inform in g
th at th ey h ave w itn essed a "*" from 2m oth er n onfau lty p rocessors.
Thu s, in th e fou rth rou n d , th e witn ess set of all 2m +1 n onfau lty
p rocessors w ill contain all 2m +1 n onfau lty p rocessors an d th ey all w ill
com m it to a valu e of 1 in th e fou rth rou n d .

9.5 Ap p lication s of Agreem en t Algorithm s


Fau lt-Toleran t Clock Synchronization
Atom ic Com m it in DDBS

- 10 -

You might also like