lecture #12 distributed algorithms (i) cs492 special topics in computer science: distributed...

21
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems

Upload: bernard-fletcher

Post on 29-Dec-2015

229 views

Category:

Documents


0 download

TRANSCRIPT

Lecture #12Distributed Algorithms (I)

CS492 Special Topics in Computer Science:Distributed Algorithms and Systems

2

Admin Stuff

• Quiz #5 return• Cloud computing article• Lynch’s book chapters

3

The Byzantine Generals Problem

• An agreement problem between the Byzantine generals on whether to attack a city or not– Messengers are not lost, but …– There may be traitors among them

• To find an algorithm to ensure that the loyal gen-erals will reach agreement– Traitors can trick some to attack and other not to– They can force an attack when no general wants– They can confuse some that the generals cannot de-

cide

4

When the mesg is sent orally

A

B C

5

Answer:

• There is no solution with fewer than 3m+1 generals can cope with m traitors

6

Reference

“The Byzantine Generals Problem”Leslie Lamport, Robert Shostak, Marshall PeaseACM Trans. on Programming Languages and Systems, Vol. 4, No. 3, July 1982, pp 382-401

7

Distributed Algorithms

• A large variety of concurrent algorithms– Originally refer to algorithms that were designed

to run on many processors “distributed” over a large geographical area

– Nowadays those on LAN or even on shared mem-ory multiprocessors

8

Attributes of distributed algorithms

• IPC• Timing model• Failure model• Problems the algorithms solve– Resource allocation, communication, consensus,

database concurrency control, deadlock detection, global snapshots, synchronization, etc.

9

General Style of Work

• Problems of significance in practical distrib-uted computing identified

• Abstract versions are defined• Algorithms are developed– They are describe precisely and proved to solve

the stated problems; their complexity analyzed• Impossibility results and lower bounds proved

10

Topics to Cover

• Synchronous Network Model (Ch. 2-4)– Leader election in a synchronous ring– Breadth-first search– Shortest paths– Min spanning tree– Maximal independent set

• Asynchronous System Model (Ch. 8-9)– Asynchronous shared memory model

Synchronous Network Systems

• Synchronous Network System as a GraphG = (V, E) where n = |V|M : some fixed alphabetstatesi

starti

msgsi

transi

12

A round = two steps

1. Apply the message-generation function2. Apply the state-transition function

13

Difference from a traditional automata

• Accepting states vs halting states

Failures

• Process vs link failures

• Byzantine failure– A process can generate its next messages and next

state in some arbitrary way, without necessarily following the rules specified by its message-gen-eration and state-transition functions.

Inputs and Outputs

• Adopt a simple convention to encode the in-puts and outputs in the states

Executions

• An execution of the system is an infinite se-quence

C0, M1, N1, C1, M2, N2, C3, M3, N3, …

– C: state assignment– M: message assignment (messages sent)– N: message assignment (messages received)

Proof Methods

• invariant assertion– A property of the system state that is true in every ex-

ecution, after every round.– Generally proved by induction on r

• simulation– A goal to show A “implements” another asynchronous

algorithm B, in the sense of producing the same input/ouput behavior.

– Generally proved by induction on r

Complexity Measures

• time complexity

• communication complexity

19

Still, how different from an automata?

• Add a random function to pick new states at each round

20

Now our first problem

• Leader election in a synchronous ring

The Problem

• Electing a unique leader– In a ring, exactly one process should output the decision that it

is the leader.

• Versions– All non-leaders declare non-leader.– The ring can be unidirectional or bidirectional.– The number of nodes can be known or not.– Processes can have identical identifiers or not.

• The former = impossibility result for identical processes• Thus, usually the processes are assumed to be identical except for the

identifier.