University of Iowa1 Self-stabilization. The University of Iowa2 Man vs. machine: fact 1 An average...

Preview:

Citation preview

University of Iowa 1

Self-stabilization

The University of Iowa 2

Man vs. machine: fact 1

An average household in the developed

countries has 50+ processors. Most are

embedded or special purpose in nature.

The University of Iowa 3

A checklist BMW 7 series car 55+ Washing and drying machines 2 Mobile phone 1 Digital TV 1 Camera 1 CD / DVD / MP3 player 1 Kitchen gadgets 3 + PC / laptop/ accessories 2-3

The University of Iowa 4

Man vs. machine fact 2

The number of processors in the world

is increasing at a faster pace than the

number of human beings. We are being

outnumbered by the processors.

The University of Iowa 5

Man vs. machine: fact 3

As computing becomes ubiquitous,

failures and perturbations become

expected events. Systems must adapt to

such events. There will not be enough

human beings to fix the systems!

The University of Iowa 6

So What?

Future systems should be able to take care of

themselves. These include the ability to self-

organize, self-heal, self-optimize etc.

IBM proclaimed autonomic computing as their vision of the

future of computing systems. Such systems will be able to

self-heal, self-organize, self-optimize and self-protect.

The University of Iowa 7

Self-stabilization The earliest concept in the self -* category

Coined by Dijkstra (CACM 74) illustrating three

mutual exclusion systems that recover to a legal

configurations (i.e. exactly one process in its critical

section) from ANY initial configuration.

The University of Iowa 8

Self-stabilizing systems

Recover from any initial configuration to a legitimate

configuration in a bounded number of steps as long

as the codes are in tact.

{true} SSS {Legal}

Pre-condition post-condition

self-stabilizing system

The University of Iowa 9

Self-stabilizing systems

State space

legal

Transient failures perturb the global state.

The ability to spontaneously recover from any

initial state implies that no initialization is ever required

The University of Iowa 10

Self-stabilizing systems

Self-stabilizing systems exhibits non-masking fault-

tolerance. It satisfies the following two criteria

fault

1. Convergence

2. Closure

Not Legal Legal

convergence

closure

University of Iowa 11

Example: Spanning tree construction

Given a connected graph G=(V,E) and a root r,

design an algorithm for maintaining a spanning

tree in presence of transient failures that may

corrupt the local states of processes. Nodes are

numbered 0, 1, 2, .., n-1

n = |V|

University of Iowa 12

Definitions

Each process i has two variables:

L = level, its distance from the root r via tree edges

P = parent

N(i) denotes the neighbors of i

By definition L(r) = 0, and P(r) is undefined.

In a legal state i V: i ≠ r, L(i) ≠ n and P(i) ≠ n,

and L(i) = L(P(i))+1.

University of Iowa 13

Sample case

0

1

2

5

4

3

0

1

2

5

4

3

1

2

3 4

5

University of Iowa 14

The algorithm

Repeat

(R1). If (L(i)≠ n) (L(i) ≠ L(P(i)) +1) (L(P) ≠ n) → L(i) :=L(P(i))+1

(R2). if (L(i) n) (L(P(i))=n) → L(i):=n

(R3) if (L(i)=n) (k N(i):L(k) < n-1) → L(i) :=L(k)+1; P(i):= k

od

The University of Iowa 15

A spanning tree example

L=0 L=1 L=2 L=3

L=4L=5

L(i) = L (P(i)) + 1

When L becomes > n-1, a node looks for a new parent.

root

L=6

The University of Iowa 16

A spanning tree exampleL=0 L=1 L=5 L=3

L=4L=5

L(i) = L (P(i)) + 1

When L becomes > n-1, a node looks for a new parent.

root

L=6

The University of Iowa 17

A spanning tree example

L=0 L=1 L=5 L=6

L=4L=5

L(i) = L (P(i)) + 1

When L becomes > n-1, a node looks for a new parent.

.

root

L=6

The University of Iowa 18

A spanning tree example

L=0 L=1 L=5 L=6

L=7L=5

L(i) = L (P(i)) + 1

When L becomes > n-1, a node looks for a new parent.

root

L=6

The University of Iowa 19

A spanning tree example

L=0 L=1 L=5 L=6

L=6L=5

L(i) = L (P(i)) + 1

When L becomes > n-1, a node looks for a new parent.

root

L=6

The University of Iowa 20

A spanning tree example

L=0 L=1 L=5 L=6

L=6L=7

L(i) = L (P(i)) + 1

When L becomes > n-1, a node looks for a new parent.

.

root

L=6

The University of Iowa 21

A spanning tree example

L=0 L=1 L=5 L=6

L=6L=2

L(i) = L (P(i)) + 1

When L becomes > n-1, a node looks for a new parent.

root

L=3

The University of Iowa 22

A spanning tree example

L=0 L=1 L=4 L=6

L=3L=2

L(i) = L (P(i)) + 1

When L becomes > n-1, a node looks for a new parent.

root

L=3

The University of Iowa 23

A spanning tree example

L=0 L=1 L=4 L=5

L=3L=2

L(i) = L (P(i)) + 1

When L becomes > n-1, a node looks for a new parent.

root

L=3

University of Iowa 24

Proof of stabilization

Define an edge from i to P(i) to be well-formed,

when L(i) ≠ n, L(P(i) ≠ n and L(i) = L(P(i))+1.

In any configuration, the well-formed edges form

a spanning forest. Delete all edges that are not

well-formed. Designate each tree T(k) in the

forest by the lowest value of L in it.

University of Iowa 25

Example In the sample graph shown earlier.

T(0) = {0, 1}

T(2) = {2, 3, 4, 5}

Let F(k) denote the number of T(k) in the forest.

Define a tuple F= (F(0), F(1), F(2) …, F(n)). For the sample graph, F = (1, 0, 1, 0, 0, 0) after node 2 underwent a transient failure.

University of Iowa 26

Skeleton of the proof

Minimum F = (1,0,0,0,0,0) {legal configuration}

Maximum F = (1, n-1, 0, 0, 0, 0).

With each action of the algorithm, F decreases

lexicographically. Verify the claim!

This proves that eventually F becomes (1,0,0,0,0,0) and

the spanning tree stabilizes.

The University of Iowa 27

Pursuer Evader Games

In a disaster zone,

rescuers (pursuers)

can track hot spots

(evaders) using

sensor networks.

(Arora, Demirbas 2003)

The University of Iowa 28

Pursuer Evader Games

A spanning tree (DFS) is

constructed on-the-fly with

the evader as the root.

How fast can the pursuer

“catch” the evader?

The University of Iowa 29

Conclusion Applications are growing.

New techniques for convergence by studying the behavior of biological elements.

Relationship between game theory and stabilization is worth studying

Recommended