Transcript
Page 1: Local Tolerance to Unbounded  Byzantine Faults

Anish Arora

Ohio State University

Mikhail Nesterenko

Kent State University

Local Tolerance to Unbounded

Byzantine Faults

Page 2: Local Tolerance to Unbounded  Byzantine Faults

• large system size presents uniquechallenges to ensuring dependability: faults occur often multiple regions can be

affected by faults faults may interact unpredictably

faults can be spatially/temporally unbounded & complex

• how to tolerate such faults?

affected

faulty

localize tolerance to unbounded complex faults

Tolerating Faults in System of Large Scale

Page 3: Local Tolerance to Unbounded  Byzantine Faults

• execution model asynchronous interleaving communication via shared registers

examples graph coloring – color (assign numbers)

vertices of a graph so that colors of adjacent onse do not match if graph has degree d, can always color

in d+1 colors

• routing – assign parent to each process such that there is a path from each process to the sink (destination)

Execution model & Example problems

1 2 3 4 5

sink

Page 4: Local Tolerance to Unbounded  Byzantine Faults

Outline

• fault containment & tolerance strict fault containment strict fault tolerance

– strict stabilization

• examples of strictly fault tolerant programs graph coloring dining philosophers routing

• limits of strict fault containment

• critique and further directions

Page 5: Local Tolerance to Unbounded  Byzantine Faults

Spatial Fault Hierarchy

• bounded faults – processes outside certain locality of a fault perform correctly (according to specification)

• unbounded faults – process performs correctly in spite of faults outside its locality

• unbounded Byzantine faults - each process behaves correctly regardless of actions outside its locality

if a program is tolerant to unbounded Byzantine faults, it is also tolerant to bounded and unbounded faults of any fault class

Page 6: Local Tolerance to Unbounded  Byzantine Faults

Containment of Unbounded Faults

• Proposition 4. P is strictly fault containing if there exists a constant l such that for each process p there exists and invariant I.p which is closed with respect to Byzantine actions of processes whose distance to p is greater than l

• what is the form of this invariant?

• can it include variables outside locality?

• can you always come up with an invariant of this form?

• What does it mean for an individual process to perform correctly?

Page 7: Local Tolerance to Unbounded  Byzantine Faults

• What if faults occur inside the containment locality?

Tolerance Inside Locality

• can achieve additional tolerance two process specifications

– ideal (no faults)

– tolerant (faults of some class present)

• example – safety is never violated which spec do processes outside fault locality satisfy?

Page 8: Local Tolerance to Unbounded  Byzantine Faults

Strict Stabilization• stabilization – special case of tolerant

spec – eventual satisfaction of ideal spec when (transient) faults stop occurring

• strict stabilization – process p eventuallysatisfies ideal spec regardless of behaviorof processes outside its locality what is the difference between traditional stabilization and strict stabilization? is strict containment required for strict stabilization?

• more formally:

Page 9: Local Tolerance to Unbounded  Byzantine Faults

Vertex Coloring Program (PVC)

• Lemma 2. when node has a neighbor with matchingcolor it can select a new color without affecting any of its neighbors

• Invariant:

• Theorem 1. PVC is strictly fault-containing and strictly stabilizing(with locality of 1)

nodes that may recolor following Byzantine

Byzantine node

Page 10: Local Tolerance to Unbounded  Byzantine Faults

Dining Philosophers Problem (DP) [D72]

• graph of processes, each may request to eat

• properties no two neighbors

eat together each requesting process

eats eventually

thinking (T)

hungry (H)

eating (E)

cycle of requesting process

Page 11: Local Tolerance to Unbounded  Byzantine Faults

DP: Fault-Free Operation [CM84]

actions:

• if thinking, needs to eat & all parents thinking

become hungry

• if hungry & no neighbors eating

eat

• when finished think & become child ofeach neighbor

b eats &gives upprivilege

aT H T

b c

Ta

T Eb c

aT T T

b c

aE T E

b c a & c eat

aT T T

b cexecutes

Page 12: Local Tolerance to Unbounded  Byzantine Faults

Dining Philosophers Program (PDP)

• a hungry faulty process may block immediate thinking neighbors

• an eating faulty process may block hungry neighbors and their thinking neighbors

H

E

T

TT

H

E T

ET

H

H

Page 13: Local Tolerance to Unbounded  Byzantine Faults

Dining Philosophers Program (PDP)

Lemma 4. non-Byzantine eating process eventually thinks

Lemma 5. a hungry process whose immediate neighborhood is not Byzantine eventually eats

Lemma 6. If a Byzantine process is at least 2 hops away a thinking process eventually becomes hungry

Invariant

Theorem 2. PDP is strictly fault-containing and strictly stabilizing(with locality of 2)

Page 14: Local Tolerance to Unbounded  Byzantine Faults

Limits of Containment

Theorem 3. the containment radius of a solution to an r-restrictive problem is at least r

• graph coloring and dining-philosophers are 1-restrictive

• routing is restrictive for arbitrary r

σ is in p’s specs1

s2

s1 and s2 differ in values of a process at least r away from p

Page 15: Local Tolerance to Unbounded  Byzantine Faults

Critique and Further Research

• interesting and useful examples of strict containment

geometric spanners, spanners of fixed degree

low-atomicity dining-philosophers

??

• better bounds on containment

r-restriction is obvious but too crude a bound for containment

some non-containing problems appear “almost” the same as containing

example:

• maximal independent set – 1-containing

• maximal independent set with distance of at most 2 – not containing for any l


Top Related