snap-stabilizing prefix tree for peer-to-peer...
TRANSCRIPT
Snap-Stabilizing Prefix Tree for Peer-to-PeerSystems
Cédric Tedeschi1
Eddy Caron1, Frédéric Desprez1, Franck Petit2
1 - Université de Lyon. LIP laboratory. UMR CNRS-ENS Lyon-UCB Lyon-INRIA5668
2 - LaRIA laboratory. CNRS-UPJV∼
Supported by ANR-05-CIGC-11
SSS 2007 - November 16, 2007
Preliminaries Protocol Simulation results Conclusion
Context
Service discovery in grid computingService (binary file, library) installed on serversServers declare their services, client discovers themNeed for maintaining this information
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 2
Preliminaries Protocol Simulation results Conclusion
Context
Service discovery in grid computingService (binary file, library) installed on serversServers declare their services, client discovers themNeed for maintaining this information
Target platformslarge scaleno central infrastructuredynamic joins and leaves of nodes
P2P systemsPurely decentralized algorithmsScalable algorithms to retrieve objectsFault-tolerance
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 2
Preliminaries Protocol Simulation results Conclusion
Trie-based overlays
A promising way to store and retrieve servicesAdvantages
Efficient range queriesAutomatic completion of partial stringsEasy extension to multi-dimensional queries
ApproachesSkip 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 replicationCostlyDoes not recover after arbitrary failures
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 3
Preliminaries Protocol Simulation results Conclusion
Trie-based overlays
A promising way to store and retrieve servicesAdvantages
Efficient range queriesAutomatic completion of partial stringsEasy extension to multi-dimensional queries
ApproachesSkip 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 replicationCostlyDoes not recover after arbitrary failures
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 3
Preliminaries Protocol Simulation results Conclusion
Trie-based overlays
A promising way to store and retrieve servicesAdvantages
Efficient range queriesAutomatic completion of partial stringsEasy extension to multi-dimensional queries
ApproachesSkip 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 replicationCostlyDoes not recover after arbitrary failures
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 3
Preliminaries Protocol Simulation results Conclusion
Trie-based overlays
A promising way to store and retrieve servicesAdvantages
Efficient range queriesAutomatic completion of partial stringsEasy extension to multi-dimensional queries
ApproachesSkip 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 replicationCostlyDoes 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
Preliminaries Protocol Simulation results Conclusion
Trie-based overlays
A promising way to store and retrieve servicesAdvantages
Efficient range queriesAutomatic completion of partial stringsEasy extension to multi-dimensional queries
ApproachesSkip 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 replicationCostlyDoes 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
Preliminaries Protocol Simulation results Conclusion
Contributions
A snap-stabilizing protocol maintaining a prefix tree.
Built in a P2P oriented architecture modelProven in the state model to be snap-stabilizingWorst case complexitiesSimulation results
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 4
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
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
Preliminaries Protocol Simulation results Conclusion
Architecture model : A two-layer P2P network
A physical network of peersP1 can communicate with P2 provided that P1 knows P2.Each peer runs one or more logical nodes
A logical tree of nodesLogical prefix tree distributed among peersOur protocol is run inside these nodesSusceptible to changes during its reconstruction
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 7
Preliminaries Protocol Simulation results Conclusion
Architecture model : A two-layer P2P network
A physical network ofpeersA logical tree ofnodes
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 7
Preliminaries Protocol Simulation results Conclusion
State model (1/2)
Nodes can read the variables of some other nodes and writeonly to their own variablesActions : < guard >→< statement >
< guard > bool. expr. of variables of p and its neighbors< statement >
Executed only if its < guard >= trueUpdates one or more variables of p
The state of a node p is defined by the values of its variablesThe configuration of the system is the product of the statesUnfair and distributed scheduling daemon
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 8
Preliminaries Protocol Simulation results Conclusion
State model (2/2)
C, the set of possible configurations of the system7→, a relation on C.
A computation is a maximal sequence of configurationse = (γ0, γ1, . . . , γi , γi+1) such that for i ≥ 0, γi 7→ γi+1 or γi is a terminalconfiguration.
E , the set of possible computationsEα, 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 7→ γi+1 if p is enabled in γi and notenabled in γi+1.
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 9
Preliminaries Protocol Simulation results Conclusion
Snap-stabilization
The first round e′ of a computation e ∈ E is the minimal prefix of econtaining the execution of one action or the neutralization of everyenabled node from the first configuration.
Let X be a set. We denote x ` P the fact that x ∈ X satisfies thepredicate 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
Preliminaries Protocol Simulation results Conclusion
The distributed structures maintained
Prefix HeapA labeled rooted tree s.t. eachnode label is the PGCP of all itschildren labels.
PGCP TreeA labeled rooted tree s.t. eachnode label is the PGCP of any pairof its children labels.
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 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 12
Preliminaries Protocol Simulation results Conclusion
The algorithm
AssumptionsThe initial graph is a rooted connected treeNEWNODE(lbl , st , chldn)DESTROY(p)HEAPIFY() locally creates a heapREPAIR() 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 algorithmHeapify phase : down-top traversal building a prefix heapRepair phase : final top-down wave building a PGCP tree
Three node statesI (initial)B (broadcast)H (heapified)
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 13
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 14
Preliminaries Protocol Simulation results Conclusion
Sketch of proof
Lemma (1)Starting from any configuration, the root node initiates the wave in afinite 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
Preliminaries Protocol Simulation results Conclusion
Sketch of proof
Lemma (1)Starting from any configuration, the root node initiates the wave in afinite 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
Preliminaries Protocol Simulation results Conclusion
Sketch of proof
Lemma (1)Starting from any configuration, the root node initiates the wave in afinite 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
Preliminaries Protocol Simulation results Conclusion
Lemma (3)After the execution of procedure REPAIR by p, the label of p is the PCPof any pair of children labels of p.
Corollary (2)After the Repair phase ends, the whole tree is a PGCP tree.
TheoremThe proposed algorithms provide a snap-stabilizing protocol building aPGCP Tree construction.
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 16
Preliminaries Protocol Simulation results Conclusion
Lemma (3)After the execution of procedure REPAIR by p, the label of p is the PCPof any pair of children labels of p.
Corollary (2)After the Repair phase ends, the whole tree is a PGCP tree.
TheoremThe proposed algorithms provide a snap-stabilizing protocol building aPGCP Tree construction.
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 16
Preliminaries Protocol Simulation results Conclusion
Lemma (3)After the execution of procedure REPAIR by p, the label of p is the PCPof any pair of children labels of p.
Corollary (2)After the Repair phase ends, the whole tree is a PGCP tree.
TheoremThe proposed algorithms provide a snap-stabilizing protocol building aPGCP Tree construction.
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 16
Preliminaries Protocol Simulation results Conclusion
Complexity
Time to obtain a consistant PGCP Tree : O(h + h′) roundsWorst case : O(n) rounds, O(n2) operations, O(n) extraspace
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 17
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
Preliminaries Protocol Simulation results Conclusion
Number of discretized rounds
0
50
100
150
200
0 1000 2000 3000 4000 5000 6000
Num
ber
of r
ound
s re
quire
d to
sta
biliz
e
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
Preliminaries Protocol Simulation results Conclusion
Average extra space required
0
1000
2000
3000
4000
5000
6000
0 1000 2000 3000 4000 5000 6000 7000 8000 9000
Max
imum
deg
ree
of th
e no
de
Nodes
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 20
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
Preliminaries Protocol Simulation results Conclusion
Conclusion
ContributionsThe first snap-stabilizing prefix treeAn alternative to nodes replicationProven to be snap-stabilizing in the state model and thusoptimal in terms of stabilization timeAverage latency in the height of the tree
On-going and future workAlgorithm desgined in the state model, need to be designedfor the MP modelImplementation and deployment over a real platform
E. Caron, F. Desprez, F. Petit, C. Tedeschi Snap-stabilizing Prefix Tree for P2P Systems 22