Distributed Algorithms

Table of Contents

Anonymous networks

Anonymous network: processes and channels have no unique ID

Many reasons:

Election

There is no election algorithm for anon rings that always terminates.

An execution is fair if each event that’s applicable in infinitely many configurations occurs infinitely often in computation.

Probabilistic algorithm: process flips a coin and performs event based on the outcome

Itai-Rodeh algorithm

Given anonymous directed ring.

Adopt Chang-Roberts algorithm:

Steps:

Complexity:

Election in arbitrary anon networks

Echo algorithm with extinction, with random selection of IDs, can be used for election in anon undirected networks, in which all processes know network size.

In round 0, initiators active, noninitiators passive.

Each active process selects random ID, and starts a wave, tagged with its ID and round number 0.

Let process p in wave i of round n be hit by wave j of round n’:

Each message sent upwards in constructed tree reports size of it subtree. All other messages report 0.

When process decides, it computes size of constructed tree.

No Las Vegas algorithm to compute size of anon ring (⇒ no Las Vegas algorithm for election in anon ring if processes don’t know ring size)

Itai-Rodeh ring size algorithm

Each process p has estimate est(p) of ring size. Initially est(p) = 2.

p initiates estimate round at start of algorithm, and at each update of est(p).

Each round, p selects random id(p) in {1..R}, sends [est(p), id(p), 1], and waits for message [est, id, h]

Complexity:

IEEE 1394 election algorithm

IEEE 1394 standard is serial multimedia bus, connecting digital devices which can be added/removed dynamically. Anonymous because transmitting/storing IDs is too expensive. Network size is unknown to process. Tree algorithm for undirected acyclic networks is used. Networks that contain cycle give a timeout.