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

Upload: briana-bradford

Post on 17-Jan-2018

215 views

Category:

Documents


0 download

DESCRIPTION

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

TRANSCRIPT

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