sorting on skip chains ajoy k. datta, lawrence l. larmore, and stéphane devismes

Post on 17-Jan-2018

215 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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

PDAA'2011, Osaka

Skip Chain Sorting

December 2, 2011

3 6 2

PDAA'2011, Osaka

Skip Chain Sorting

December 2, 2011

3 6 2

2 3 6

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

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Illegitimate States Legitimate States

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Closure

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Closure

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Closure

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Convergence

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Convergence

PDAA'2011, OsakaDecember 2, 2011

Self-Stabilization: Closure + Convergence

States of the System

Convergence

PDAA'2011, OsakaDecember 2, 2011

Tolerate Transient Faults

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

PDAA'2011, OsakaDecember 2, 2011

Tolerate Transient Faults

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

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

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

PDAA'2011, Osaka

Overview

December 2, 2011

PDAA'2011, Osaka

Overview

• Idea : distributed bubble sort

December 2, 2011

PDAA'2011, Osaka

Overview

• Idea : distributed bubble sort

December 2, 2011

Arbitrary Configurations

PDAA'2011, Osaka

Overview

• Idea : distributed bubble sort

December 2, 2011

Arbitrary Configurations

Normal Configurations

Error Correction

PDAA'2011, Osaka

Overview

• Idea : distributed bubble sort

December 2, 2011

Arbitrary Configurations

Normal Configurations

Legitimate Configurations

Error Correction

Sorting

PDAA'2011, Osaka

Data Structure

December 2, 2011

3 6 2

PDAA'2011, Osaka

Swap

December 2, 2011

6 2

PDAA'2011, Osaka

Swap

December 2, 2011

6 2

6 26 6 6 6

PDAA'2011, Osaka

Swap

December 2, 2011

6 2

6 26 6 6 6

2 62 2 2 2

PDAA'2011, Osaka

Swap

December 2, 2011

6 2

6 26 6 6 6

2 62 2 2 2

Synchronization between swaps : 4 colors

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

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

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)’

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)’

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)’’

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)’’

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

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)’’

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

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

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

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)’’

PDAA'2011, Osaka

Error correction

December 2, 2011

PDAA'2011, Osaka

Error correction

December 2, 2011

PDAA'2011, Osaka

Error correction

December 2, 2011

PDAA'2011, Osaka

Error correction

December 2, 2011

PDAA'2011, Osaka

Error correction

December 2, 2011

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

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

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

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

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

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

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

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

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

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

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

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

PDAA'2011, Osaka

Perspective

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

• Step complexity ?

December 2, 2011

PDAA'2011, Osaka

Thank youDecember 2, 2011

PDAA'2011, Osaka

Min-Max Search Tree

December 2, 2011

10

1

95

83 7

62

<= <=

4<=

min

min

max

max

top related