Snap-Stabilizing Prefix Tree for Peer-to-Peer Systems Cdric Tedeschi - - PowerPoint PPT Presentation

snap stabilizing prefix tree for peer to peer systems
SMART_READER_LITE
LIVE PREVIEW

Snap-Stabilizing Prefix Tree for Peer-to-Peer Systems Cdric Tedeschi - - PowerPoint PPT Presentation

Snap-Stabilizing Prefix Tree for Peer-to-Peer Systems Cdric Tedeschi 1 Eddy Caron 1 , Frdric Desprez 1 , Franck Petit 2 1 - Universit de Lyon. LIP laboratory. UMR CNRS-ENS Lyon-UCB Lyon-INRIA 5668 2 - LaRIA laboratory. CNRS-UPJV


slide-1
SLIDE 1

Snap-Stabilizing Prefix Tree for Peer-to-Peer Systems

Cédric Tedeschi1 Eddy Caron1, Frédéric Desprez1, Franck Petit2

1 - Université de Lyon. LIP laboratory. UMR CNRS-ENS Lyon-UCB Lyon-INRIA 5668 2 - LaRIA laboratory. CNRS-UPJV ∼ Supported by ANR-05-CIGC-11

SSS 2007 - November 16, 2007

slide-2
SLIDE 2

Preliminaries Protocol Simulation results Conclusion

Context

Service discovery in grid computing

Service (binary file, library) installed on servers Servers declare their services, client discovers them Need for maintaining this information

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 2

slide-3
SLIDE 3

Preliminaries Protocol Simulation results Conclusion

Context

Service discovery in grid computing

Service (binary file, library) installed on servers Servers declare their services, client discovers them Need for maintaining this information

Target platforms

large scale no central infrastructure dynamic joins and leaves of nodes

P2P systems

Purely decentralized algorithms Scalable algorithms to retrieve objects Fault-tolerance

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 2

slide-4
SLIDE 4

Preliminaries Protocol Simulation results Conclusion

Trie-based overlays

A promising way to store and retrieve services Advantages

Efficient range queries Automatic completion of partial strings Easy extension to multi-dimensional queries

Approaches

Skip Graphs (Aspnes and Shah – 2003) P-Grid (Datta, Hauswirth, John, Schmidt, Aberer – 2003) PHT (Ramabhadran, Ratnasamy, Hellerstein, Shenker – 2004) DLPT (Caron, Desprez, Tedeschi – 2005) Nodewiz (Basu, Banerjee, Sharma, Lee – 2005)

Drawback : fault-tolerance based on replication

Costly Does not recover after arbitrary failures

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 3

slide-5
SLIDE 5

Preliminaries Protocol Simulation results Conclusion

Trie-based overlays

A promising way to store and retrieve services Advantages

Efficient range queries Automatic completion of partial strings Easy extension to multi-dimensional queries

Approaches

Skip Graphs (Aspnes and Shah – 2003) P-Grid (Datta, Hauswirth, John, Schmidt, Aberer – 2003) PHT (Ramabhadran, Ratnasamy, Hellerstein, Shenker – 2004) DLPT (Caron, Desprez, Tedeschi – 2005) Nodewiz (Basu, Banerjee, Sharma, Lee – 2005)

Drawback : fault-tolerance based on replication

Costly Does not recover after arbitrary failures

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 3

slide-6
SLIDE 6

Preliminaries Protocol Simulation results Conclusion

Trie-based overlays

A promising way to store and retrieve services Advantages

Efficient range queries Automatic completion of partial strings Easy extension to multi-dimensional queries

Approaches

Skip Graphs (Aspnes and Shah – 2003) P-Grid (Datta, Hauswirth, John, Schmidt, Aberer – 2003) PHT (Ramabhadran, Ratnasamy, Hellerstein, Shenker – 2004) DLPT (Caron, Desprez, Tedeschi – 2005) Nodewiz (Basu, Banerjee, Sharma, Lee – 2005)

Drawback : fault-tolerance based on replication

Costly Does not recover after arbitrary failures

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 3

slide-7
SLIDE 7

Preliminaries Protocol Simulation results Conclusion

Trie-based overlays

A promising way to store and retrieve services Advantages

Efficient range queries Automatic completion of partial strings Easy extension to multi-dimensional queries

Approaches

Skip Graphs (Aspnes and Shah – 2003) P-Grid (Datta, Hauswirth, John, Schmidt, Aberer – 2003) PHT (Ramabhadran, Ratnasamy, Hellerstein, Shenker – 2004) DLPT (Caron, Desprez, Tedeschi – 2005) Nodewiz (Basu, Banerjee, Sharma, Lee – 2005)

Drawback : fault-tolerance based on replication

Costly Does not recover after arbitrary failures

It remains the best effort approach.

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 3

slide-8
SLIDE 8

Preliminaries Protocol Simulation results Conclusion

Trie-based overlays

A promising way to store and retrieve services Advantages

Efficient range queries Automatic completion of partial strings Easy extension to multi-dimensional queries

Approaches

Skip Graphs (Aspnes and Shah – 2003) P-Grid (Datta, Hauswirth, John, Schmidt, Aberer – 2003) PHT (Ramabhadran, Ratnasamy, Hellerstein, Shenker – 2004) DLPT (Caron, Desprez, Tedeschi – 2005) Nodewiz (Basu, Banerjee, Sharma, Lee – 2005)

Drawback : fault-tolerance based on replication

Costly Does not recover after arbitrary failures

It remains the best effort approach. Self-stabilization.

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 3

slide-9
SLIDE 9

Preliminaries Protocol Simulation results Conclusion

Contributions

A snap-stabilizing protocol maintaining a prefix tree. Built in a P2P oriented architecture model Proven in the state model to be snap-stabilizing Worst case complexities Simulation results

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 4

slide-10
SLIDE 10

Preliminaries Protocol Simulation results Conclusion

Outline

1

Preliminaries

2

Protocol

3

Simulation results

4

Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 5

slide-11
SLIDE 11

Preliminaries Protocol Simulation results Conclusion

Outline

1

Preliminaries

2

Protocol

3

Simulation results

4

Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 6

slide-12
SLIDE 12

Preliminaries Protocol Simulation results Conclusion

Architecture model : A two-layer P2P network

A physical network of peers

P1 can communicate with P2 provided that P1 knows P2. Each peer runs one or more logical nodes

A logical tree of nodes

Logical prefix tree distributed among peers Our protocol is run inside these nodes Susceptible to changes during its reconstruction

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 7

slide-13
SLIDE 13

Preliminaries Protocol Simulation results Conclusion

Architecture model : A two-layer P2P network

A physical network of peers A logical tree

  • f

nodes

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 7

slide-14
SLIDE 14

Preliminaries Protocol Simulation results Conclusion

State model (1/2)

Nodes can read the variables of some other nodes and write

  • nly to their own variables

Actions : < guard >→< statement >

< guard > bool. expr. of variables of p and its neighbors < statement >

Executed only if its < guard >= true Updates one or more variables of p

The state of a node p is defined by the values of its variables The configuration of the system is the product of the states Unfair and distributed scheduling daemon

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 8

slide-15
SLIDE 15

Preliminaries Protocol Simulation results Conclusion

State model (2/2)

C, the set of possible configurations of the system →, a relation on C. A computation is a maximal sequence of configurations e = (γ0, γ1, . . . , γi, γi+1) such that for i ≥ 0, γi → γi+1 or γi is a terminal configuration. E, the set of possible computations Eα, the set of possible computations starting with a given α ∈ C. A node p is enabled in γ if at least one guard is true on p in γ. A node is neutralized in the step γi → γi+1 if p is enabled in γi and not enabled in γi+1.

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 9

slide-16
SLIDE 16

Preliminaries Protocol Simulation results Conclusion

Snap-stabilization

The first round e′ of a computation e ∈ E is the minimal prefix of e containing the execution of one action or the neutralization of every enabled node from the first configuration. Let X be a set. We denote x ⊢ P the fact that x ∈ X satisfies the predicate P. The protocol is snap-stabilizing for the specification SPP on E iff : ∀α ∈ C : ∀e ∈ Eα :: e ⊢ SPP

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 10

slide-17
SLIDE 17

Preliminaries Protocol Simulation results Conclusion

The distributed structures maintained

Prefix Heap

A labeled rooted tree s.t. each node label is the PGCP of all its children labels.

PGCP Tree

A labeled rooted tree s.t. each node label is the PGCP of any pair

  • f its children labels.
  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 11

slide-18
SLIDE 18

Preliminaries Protocol Simulation results Conclusion

Outline

1

Preliminaries

2

Protocol

3

Simulation results

4

Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 12

slide-19
SLIDE 19

Preliminaries Protocol Simulation results Conclusion

The algorithm

Assumptions

The initial graph is a rooted connected tree NEWNODE(lbl, st, chldn) DESTROY(p) HEAPIFY() locally creates a heap REPAIR() locally builds a PGCP Tree starting from a heap

Three Phases inspired by the snap-stabilizing PIF [Bui, Datta, Petit, Villain – 1999]

Broadcast phase : top-down wave initiating the algorithm Heapify phase : down-top traversal building a prefix heap Repair phase : final top-down wave building a PGCP tree

Three node states

I (initial) B (broadcast) H (heapified)

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 13

slide-20
SLIDE 20

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-21
SLIDE 21

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-22
SLIDE 22

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-23
SLIDE 23

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-24
SLIDE 24

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-25
SLIDE 25

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-26
SLIDE 26

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-27
SLIDE 27

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-28
SLIDE 28

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-29
SLIDE 29

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-30
SLIDE 30

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-31
SLIDE 31

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-32
SLIDE 32

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-33
SLIDE 33

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-34
SLIDE 34

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-35
SLIDE 35

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-36
SLIDE 36

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-37
SLIDE 37

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-38
SLIDE 38

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-39
SLIDE 39

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-40
SLIDE 40

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-41
SLIDE 41

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-42
SLIDE 42

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-43
SLIDE 43

Preliminaries Protocol Simulation results Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 14

slide-44
SLIDE 44

Preliminaries Protocol Simulation results Conclusion

Sketch of proof

Lemma (1)

Starting from any configuration, the root node initiates the wave in a finite time.

Lemma (2)

Afther the execution of procedure HEAPIFY by p, Tp is a prefix heap.

Corollary (1)

After the Heapify phase ends, the whole tree is a prefix heap.

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 15

slide-45
SLIDE 45

Preliminaries Protocol Simulation results Conclusion

Sketch of proof

Lemma (1)

Starting from any configuration, the root node initiates the wave in a finite time.

Lemma (2)

Afther the execution of procedure HEAPIFY by p, Tp is a prefix heap.

Corollary (1)

After the Heapify phase ends, the whole tree is a prefix heap.

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 15

slide-46
SLIDE 46

Preliminaries Protocol Simulation results Conclusion

Sketch of proof

Lemma (1)

Starting from any configuration, the root node initiates the wave in a finite time.

Lemma (2)

Afther the execution of procedure HEAPIFY by p, Tp is a prefix heap.

Corollary (1)

After the Heapify phase ends, the whole tree is a prefix heap.

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 15

slide-47
SLIDE 47

Preliminaries Protocol Simulation results Conclusion

Lemma (3)

After the execution of procedure REPAIR by p, the label of p is the PCP

  • f any pair of children labels of p.

Corollary (2)

After the Repair phase ends, the whole tree is a PGCP tree.

Theorem

The proposed algorithms provide a snap-stabilizing protocol building a PGCP Tree construction.

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 16

slide-48
SLIDE 48

Preliminaries Protocol Simulation results Conclusion

Lemma (3)

After the execution of procedure REPAIR by p, the label of p is the PCP

  • f any pair of children labels of p.

Corollary (2)

After the Repair phase ends, the whole tree is a PGCP tree.

Theorem

The proposed algorithms provide a snap-stabilizing protocol building a PGCP Tree construction.

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 16

slide-49
SLIDE 49

Preliminaries Protocol Simulation results Conclusion

Lemma (3)

After the execution of procedure REPAIR by p, the label of p is the PCP

  • f any pair of children labels of p.

Corollary (2)

After the Repair phase ends, the whole tree is a PGCP tree.

Theorem

The proposed algorithms provide a snap-stabilizing protocol building a PGCP Tree construction.

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 16

slide-50
SLIDE 50

Preliminaries Protocol Simulation results Conclusion

Complexity

Time to obtain a consistant PGCP Tree : O(h + h′) rounds Worst case : O(n) rounds, O(n2) operations, O(n) extra space

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 17

slide-51
SLIDE 51

Preliminaries Protocol Simulation results Conclusion

Outline

1

Preliminaries

2

Protocol

3

Simulation results

4

Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 18

slide-52
SLIDE 52

Preliminaries Protocol Simulation results Conclusion

Number of discretized rounds

50 100 150 200 1000 2000 3000 4000 5000 6000 Number of rounds required to stabilize Number of nodes in the tree Number of rounds [average on 40 runs] a x log(n)

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 19

slide-53
SLIDE 53

Preliminaries Protocol Simulation results Conclusion

Average extra space required

1000 2000 3000 4000 5000 6000 1000 2000 3000 4000 5000 6000 7000 8000 9000 Maximum degree of the node Nodes

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 20

slide-54
SLIDE 54

Preliminaries Protocol Simulation results Conclusion

Outline

1

Preliminaries

2

Protocol

3

Simulation results

4

Conclusion

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 21

slide-55
SLIDE 55

Preliminaries Protocol Simulation results Conclusion

Conclusion

Contributions

The first snap-stabilizing prefix tree An alternative to nodes replication Proven to be snap-stabilizing in the state model and thus

  • ptimal in terms of stabilization time

Average latency in the height of the tree

On-going and future work

Algorithm desgined in the state model, need to be designed for the MP model Implementation and deployment over a real platform

  • E. Caron, F. Desprez, F. Petit, C. Tedeschi

Snap-stabilizing Prefix Tree for P2P Systems 22