Distributed Algorithms

Table of Contents

Wave algorithms

decide event: special internal event

In wave algorithm, each computation (wave) satisfies:

Traversal algorithms for spanning trees

Centralised wave algorithms.

Initiator sends around token:

Build spanning tree:

Spanning trees

Tarry’s algorithm

Undirected network.

restrictions:

token travels through each channel both ways, end up at initiator

the parent-child relation is reversal of solid arrows.

complexity:

Awebuch’s algorithm

complexity:

Cidon’s algorithm

Awerbuch’s but without acks.

complexity:

Tree algorithms

Decentralised wave algorithm for undirected acyclic networks.

Local algorithm at process p

Always two neighboring processes decide.

Echo algorithm

Centralised wave algorithm for undirected networks.

Complexity:

To determine largest process ID in network:

Deadlocks

Deadlock if cycle of processes waiting until

Both captured by N-out-of-M model: process can wait for N grants out of M requests.

Wait-for graph

Directed wait-for graph capturing these dependencies:

Wait-for graph drawing

During execution of basic algorithm, snapshot is taken of graph. Static analysis may reveal deadlocks

Bracha-Toueg deadlock detection algorithm

Given undirected network and basic algorithm

Initially notified = false and free = false at all nodes