Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

60
Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes

description

Skip Chain Sorting December 2, 2011PDAA'2011, Osaka 3 6 2

Transcript of Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

Page 1: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

Sorting on Skip Chains

Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes

Page 2: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Skip Chain

December 2, 2011

Left Right

Major nodes

Relay nodes

Page 3: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Skip Chain Sorting

December 2, 2011

3 6 2

Page 4: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Skip Chain Sorting

December 2, 2011

3 6 2

2 3 6

Page 5: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Contribution

• Skip Chain Sorting Algorithm– Self-stabilizing– Silent– Locally shared memory model

• Unfair demon• O(b) space, b = number of bits to encode a value• O(md) rounds

– m : number of major nodes– d : maximum number of relay between two major nodes– md = O(n) if the spacing between major processes is roughtly equal

December 2, 2011

Page 6: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

Page 7: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Page 8: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Illegitimate States Legitimate States

Page 9: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Closure

Page 10: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Closure

Page 11: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Closure

Page 12: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Convergence

Page 13: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Convergence

Page 14: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Convergence

Page 15: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Tolerate Transient Faults

• E.g., any finite number of memory or message corruptions, or topological changes

Page 16: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, OsakaDecember 2, 2011

Tolerate Transient Faults

• E.g., any finite number of memory or message corruptions, or topological changes

Page 17: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Silence

• “The system eventually reaches a terminal configuration where the values of the variables are fixed” [Dolev et al, 1996]

December 2, 2011

Page 18: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Related Work

• New problem

• A generalization of the sorting problem– Oriented chain [Bein et al, 2008]• Self-stabilizing• O(n) round, O(b) space

December 2, 2011

Page 19: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Overview

December 2, 2011

Page 20: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Overview

• Idea : distributed bubble sort

December 2, 2011

Page 21: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Overview

• Idea : distributed bubble sort

December 2, 2011

Arbitrary Configurations

Page 22: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Overview

• Idea : distributed bubble sort

December 2, 2011

Arbitrary Configurations

Normal Configurations

Error Correction

Page 23: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Overview

• Idea : distributed bubble sort

December 2, 2011

Arbitrary Configurations

Normal Configurations

Legitimate Configurations

Error Correction

Sorting

Page 24: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Data Structure

December 2, 2011

3 6 2

Page 25: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Swap

December 2, 2011

6 2

Page 26: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Swap

December 2, 2011

6 2

6 26 6 6 6

Page 27: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Swap

December 2, 2011

6 2

6 26 6 6 6

2 62 2 2 2

Page 28: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Swap

December 2, 2011

6 2

6 26 6 6 6

2 62 2 2 2

Synchronization between swaps : 4 colors

Page 29: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Colors

• A value moves to the left at the crest of wave 0

• A value moves to the right at the crest of wave 1

• Colors 2 and 3 to avoid ambiguïty and to synchronize

• Color E: error colorDecember 2, 2011

Page 30: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

33 03 20

Compare and swap

V(y)V(x)

3 3 3 0 0 0

Page 31: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

33 10 20

V(y)’V(x)’

3 3 3 0 0 0

0, V(x)’ 1, V(y)’

Page 32: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

03 10 21

V(y)’V(x)’

0 0 0 1 1 1

Compare and swap

V(y)’V(u) V(x)’

Page 33: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

10 10 32

V(y)’V(x)’

0 0 0 1 1 1

V(y)’V(u)’ V(x)’’

21, V(x)’’

Page 34: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

10 21 32

V(y)’V(x)’’

1 1 1 2 2 2

V(y)’V(u)’ V(x)’’

Page 35: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

10 32 32

V(y)’V(x)’’

1 1 1 2 2 2

V(y)’V(u)’ V(x)’’

2 3

Page 36: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

20 32 33

V(y)’V(x)’’

2 2 2 3 3 3

V(y)’V(u)’ V(x)’’

0, V(z)1, V(u)’’

Page 37: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

21 32 03

V(y)’V(x)’’

2 2 2 3 3 3

V(y)’ V(z)V(u)’’ V(x)’’Compare and swap

Page 38: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

32 32 10

V(y)’V(x)’’

2 2 2 3 3 3

V(y)’’ V(z)’V(u)’’ V(x)’’

0, V(y)’’ 3

Page 39: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

32 03 10

V(y)’’V(x)’’

3 3 3 0 0 0

V(y)’’ V(z)’V(u)’’ V(x)’’

3 2

Page 40: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Example

December 2, 2011

X Y Z

33 03 20

V(y)’’V(x)’’

3 3 3 0 0 0

V(y)’’ V(z)’V(u)’’ V(x)’’

Page 41: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Error correction

December 2, 2011

Page 42: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Error correction

December 2, 2011

Page 43: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Error correction

December 2, 2011

Page 44: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Error correction

December 2, 2011

Page 45: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Error correction

December 2, 2011

Page 46: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Uncorrect swap

December 2, 2011

X Y Z

33 03 20

Compare and swap

bc

3 3 3 0 0 0

a c ca b b b b

Page 47: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Uncorrect swap

December 2, 2011

X Y Z

33 10 203 3 3 0 0 0

0, b 1, c

Bad swap

cba c ca b b b b

Page 48: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Uncorrect swap

December 2, 2011

X Y Z

33 10 203 3 3 0 0 0

0, b 1, c

cba c ca b b b b

aError correction

Page 49: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Uncorrect swap

December 2, 2011

X Y Z

33 10 203 3 3 1 1 0

1, c

cba a aa c c b b

aError correction

Page 50: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Uncorrect swap

December 2, 2011

X Y Z

33 10 203 3 3 1 1 0

1, c

cba a aa c c b b

aError correction

To undo the swap, we should remember that we do a swap!Status : S or U

S

Page 51: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Uncorrect swap

December 2, 2011

X Y Z

33 10 203 3 3 1 1 0

1, c

baa a aa c c b b

bError correction

To undo the swap, we should remember that we do a swap!Status : S or U

S

Page 52: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Silence

December 2, 2011

An additional Boolean variable : DoneDone => Stop initiating wave color

2 2 2 2 3 3 3 3 3 6

Page 53: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Silence

December 2, 2011

An additional Boolean variable : DoneDone => Stop initiating wave color

2 2 2 2 3 3 3 3 3 6

Page 54: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Silence

December 2, 2011

An additional Boolean variable : DoneDone => Stop initiating wave color

2 2 2 2 3 3 3 3 3 6

3≤6 & Color=3 →Done<-True; Color<-0

Page 55: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Silence

December 2, 2011

2 2 2 2 3 3 3 3 3 6

Color=3 & R.color=0 & R.done→Done<-True; Color<-0Value<-R.Value

Page 56: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Silence

December 2, 2011

2 2 2 2 3 3 3 3 3 6

Color=3 & R.color=0 & R.done &Value≤R.Value →Done<-True; Color<-0

Page 57: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Silence

December 2, 2011

2 2 2 2 3 3 3 3 3 6

At the end, for all node:- Color = 0- Done = true

No enabled action

Page 58: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Perspective

• Can we enhance the round complexity to O(n) rounds ?

• Step complexity ?

December 2, 2011

Page 59: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Thank youDecember 2, 2011

Page 60: Sorting on Skip Chains Ajoy K. Datta, Lawrence L. Larmore, and Stéphane Devismes.

PDAA'2011, Osaka

Min-Max Search Tree

December 2, 2011

10

1

95

83 7

62

<= <=

4<=

min

min

max

max