Distributed Slicing in Dynamic Systems

44
Distributed Slicing in Dynamic Systems A. Fernández, V. Gramoli, E. Jiménez, A-M. Kermarrec, M. Raynal

description

Distributed Slicing in Dynamic Systems A. Fern á ndez, V. Gramoli , E. Jiménez, A-M. Kermarrec, M. Raynal. Context. 1. Distributed System Interconnected set of nodes Heterogeneous environment Resources are heterogeneously spread Bandwidth Processing Power Storage Space Uptime … - PowerPoint PPT Presentation

Transcript of Distributed Slicing in Dynamic Systems

Page 1: Distributed Slicing in Dynamic Systems

Distributed Slicing in Dynamic Systems

A. Fernández, V. Gramoli, E. Jiménez, A-M. Kermarrec, M. Raynal

Page 2: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Context

Distributed System

Interconnected set of nodes

Heterogeneous environment

Resources are heterogeneously spread• Bandwidth

• Processing Power

• Storage Space

• Uptime

• …

Large-scale dynamic environment

Nodes leave and join at any time

Large amount of nodes

No global information

1,50,3

1

10098

Page 3: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Problem

What means rich/poor in this context?

Page 4: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Problem

What means rich/poor in this context?

20

Am I rich or poor?

Page 5: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Problem

What means rich/poor in this context?

202

6

15

rich?

Page 6: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Problem

What means rich/poor in this context?

20300

150

815220

poor?

Page 7: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Applications

Remedy the Gnutella problem in Peer-to-peer Gnutella performance was limited by poor nodes

Kazaa/Skype sollicitate rich nodes rather than poor nodes

Allocating resources/nodes to services Streaming service needs nodes with highest bandwidth Non-critical service can run on unstable nodes File-sharing service requires nodes with many files …

Page 8: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Objectives

Classifying nodes into categories, slices Based on individual characteristics: attributes A slice corresponds to a portion of the system

Typically, answering the question:

Page 9: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Objectives

HOW RICH AM I COMPARED TO OTHERS?

Classifying nodes into categories, slices Based on individual characteristics: attributes A slice corresponds to a portion of the system

Typically, answering the question:

Page 10: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Classifying the system nodes

Page 11: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Classifying the system nodes

68

70

8

7262

7565

20

71

48

5989

27

…using their attribute values (assume a single attribute for simplicity reason)

Page 12: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Classifying the system nodes

68

70

8

7262

7565

20

71

48

5989

27

0 100

Attribute values ai

Page 13: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Classifying the system nodes

68

70

8

7262

7565

20

71

48

5989

27

0 100

0 1

Attribute values ai

NormalizedIndices pi

Page 14: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

#4#3#2#1

Classifying the system nodes

68

70

8

7262

7565

20

71

48

5989

27

0 100

0 1

NormalizedIndices pi

0 1Slices si

Attribute values ai

Page 15: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

ModelDynamic system System of n nodes Nodes join and leave the system at any time Nodes may crash too

Each node i knows its attribute value ai, its position estimate pi’, the slices (ex: 10 equally sized slices, each containing

10% of the nodes), a communication view Vi:

• constant number of neighbors j,• their position estimate pj’, their attribute aj, (and their age)

Page 16: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Underlying Gossip-based Overlay

Each node i periodically: Exchanges information with its neighbors (nodes of its

view)• Views, values…

Computes its new view and its new state• View, value…

Dynamic overlay: Failed nodes are naturally removed from views Joining nodes are naturally added into views

Scalable overlay: Limited amount of information stored Limited amount of information exchanged

Page 17: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Jelasity, Kermarrec 2006 (JK)

Each node i sets pi’ as a uniform random value

Each node i looks for a misplaced neighbor j A neighbor j is misplaced with i iff (ai – aj)(pi’ – pj’) < 0

Then, nodes i and j exchange pi’ and pj’

The sequence of position estimates matches the sequence of attribute values

For any node couple i and j, ai<aj <=> pi’<pj’

Convergence to this ordering is exponentially fast

(in the number of execution)

Page 18: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 1: Ordering

Similar to JK

Uses Local Disorder Measure LDM Let lpj’ (resp. lpj) be the normalized index of j random value

(resp. attribute value) among all j of Vi i

LDM(i) = ∑ j in Vi i (lpj’ – lpj)²

ProtocolDo periodically {

Update view Vi using an underlying protocol.Choose the neighbor j that minimizes the LDM(i).Exchange random values pi’ and pj’ Update the random value pi’ w/ pj’ if necessary.Update slice assignment si’ := s : pi’ in s.

}

Page 19: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 1: Ordering

Similar to JK

Uses Local Disorder Measure LDM Let lpj’ (resp. lpj) be the normalized index of j random value (resp.

attribute value) among all j of Vi i

LDM(i) = ∑ j in Vi i (lpj’ – lpj)²

ProtocolDo periodically {

Update view Vi using an underlying protocol.Choose the neighbor j that minimizes the LDM(i).Exchange random values pi’ and pj’. Update the random value pi’ w/ pj’ if necessary.Update slice assignment si’ := s : pi’ in s.

}

Difference with JK

Page 20: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 1: Ordering

68

70

8

7262

7565

20

71

48

5989

27

4/11 9/11

Page 21: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 1: Ordering

68

70

8

7262

7565

20

71

48

5989

27

9/11

7/11

Page 22: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 1: Ordering

68

70

8

7262

7565

20

71

48

5989

27

Page 23: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 1: Ordering

68

70

8

7262

7565

20

71

48

5989

27

7/11

2/11

Page 24: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 1: Ordering

68

70

8

7262

7565

20

71

48

5989

27

Page 25: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 1: Ordering

68

70

8

7262

7565

20

71

48

5989

27

2/11

4/11

Page 26: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 1: Ordering

68

70

8

7262

7565

20

71

48

5989

27

Page 27: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Result: Slight convergence speed up

n = 104

#slices = 10|V| = 20

Page 28: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

If random values are not perfectly uniformly distributed

…some nodes might never find their slice e.g. the 3 nodes of S2 in the example above

Problem: Wrong Slice Assignment

#4#3#2#1

0 1Slices

Normalizedindices

Page 29: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 2: RankingNo random values!

ProtocolDo periodically {

Update/Shuffle view Vi using an underlying protocol.l += #neighbors with lower attribute value.g += #neighborsSends ai to a randomly chosen neighborSends ai to the neighbor that is the closest to a slice boundary

Update slice assignment si’ = s such that l/g in s.}Upon reception {

Receive aj from jif (aj < ai) l += 1;

g+=1 ;Update slice assignment si’ = s such that l/g in s.

}

Page 30: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 2: RankingNo random values!

ProtocolDo periodically {

Update/Shuffle view Vi using an underlying protocol.l += #neighbors with lower attribute value.g += #neighborsSends ai to a randomly chosen neighborSends ai to the neighbor that is the closest to a slice boundary

Update slice assignment si’ = s such that l/g in s.}Upon reception {

Receive aj from jif (aj < ai) l += 1; g+=1 ;Update slice assignment si’ = s such that l/g in s.

}

Same number of messages

Page 31: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 2: Ranking

68

70

8

7262

7565

20

71

48

5989

27

4/11

Page 32: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 2: Ranking

68

70

8

7262

7565

20

71

48

5989

27

68

89

Page 33: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 2: Ranking

68

70

8

7262

7565

20

71

48

5989

27

0/2

Page 34: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 2: Ranking

68

70

8

7262

7565

20

71

48

5989

27

7220

Page 35: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 2: Ranking

68

70

8

7262

7565

20

71

48

5989

27

1/4

Page 36: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 2: Ranking

68

70

8

7262

7565

20

71

48

5989

27

48

75

Page 37: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Algorithm 2: Ranking

68

70

8

7262

7565

20

71

48

5989

27

1/3

Page 38: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Result 1: Unlimited convergence

n = 104

#slices = 100|V| = 20

Page 39: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Result 1: Unlimited convergence

Ranking precision keeps improving

n = 104

#slices = 100|V| = 20

Page 40: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Result 2: Tolerating Dynamism

Churn is correlated with attribute values!

e.g. the attribute is the remaining batery lifetime or available storage space.

Churn

Page 41: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Performance Analysis

d, is the distance from pi’ to the closest slice boundary.For confidence coefficient of 99,99%, the required number of attribute value drawn is

mi ≥ z pi’ (1 – pi’) / d2,

with z <16, a constant.

Page 42: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Conclusion

Churn-tolerant algorithmGossip-based mechanisms.Slice belongingness re-approximation.

Scalable algorithmLimited number of neighbors.Size of the system is unknown.

Applications of the distributed slicingResource allocationSupernodes / Ultrapeers election

Future workCan we obtain convergence speed of the first algorithm with the

accuracy of the second algorithm?

Page 43: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

References

Ordered Slicing of Very Large-Scale Overlay NetworksM. Jelasity and A.-M. Kermarrec In Proc. of the 6th IEEE Conference on P2P Computing, 2006.

Randomized AlgorithmsR. Motwani, P. RaghavanCambridge University Press, 1995

Time Bounds for SelectionM. Blum, R. Floyd, V. Pratt, R. Rivest, and R. TarjanJournal Computer and System Sciences 7:448-461, 1972

Page 44: Distributed Slicing in Dynamic Systems

ICDCS 2007June

Fernandez, Gramoli, Jimenez, Kermarrec, Raynal

Result 3: Feasibility