Markus Benter, Mohammad Divband, Sebastian Kniesburges, Andreas Koutsopoulos, Kalman Graffi
University of Paderborn 1
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Networked Systems 2013
University of Paderborn 2
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
1. Chord
2. Re-Chord
3. Ca-Re-Chord
4. Evaluation
5. Conclusion
Overview
University of Paderborn 3
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Chord[Stoica et al., 2001]
University of Paderborn 4
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• DHT (Distributed Hash Table)• Node degree: O(log(n))• Routing performance: O(log(n))
Chord
University of Paderborn 5
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Chord network partitioned (due to churn)• E.g. two Chord rings• Successors and predecessors locally consistent• Cannot be detected
Chord: Inconsistency Issue
University of Paderborn 6
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Re-Chord[Kniesburges et al., 2011]
University of Paderborn 7
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Re-Chord: Self-Stabilizing Chord
University of Paderborn 8
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Each node has identifier in interval [0,1)• Fingers: virtual nodes do the same as fingers in Chord
• Node joins network several times• Virtual Nodes are
Re-Chord: State
University of Paderborn 9
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Edges:• Each node has successor and predeccessor• Each real node has real right neighbor and real left neighbor
Re-Chord: State
University of Paderborn 10
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Example: route from to
Re-Chord: State
University of Paderborn 11
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
In stable state, Chord is subgraph of Re-Chord
Re-Chord: State
University of Paderborn 12
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Six stabilization rules are necessary:
1. Create and Delete Virtual Nodes
2. Overlapping Neighborhood
3. Closest Real Neighbor
4. Linearization
5. Ring Edge
6. Connection Edges
Provable: Network is weakly connected then eventually be in stable state after finite number of steps
Re-Chord: Stabilization Rules
University of Paderborn 13
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Virtual nodes are • Do not create nodes in interval ( is real right neighbor of )• They are not necessary (routing via real right neighbor of )
• Rules:• Create all nodes according to (but without • Delete all nodes in interval
1. Create and Delete Virtual Nodes
University of Paderborn 14
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Rules:• Left real neighbor and right real neighbor recalculated every step
• = left real neighbor = real neighbor with lower identifier• = right real neighbor = real neighbor with higher identifier
• All nodes in interval [ , ] are notified• Can find new real neighbor as well
3. Closest Real Neighbor
University of Paderborn 15
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Theorem: Can be found in O(log(n)) steps• Each node has O(log(n)) virtual nodes• Number of virtual nodes between two real nodes O(log(n))• Worst-Case is O(„number of contiguous virtual nodes“)
• Analysis in paper
3. Closest Real Neighbor
University of Paderborn 16
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Rule: Propagate all edges (but the two closest neighbors)• Provable: Graph becomes a line after O(n) steps
4. Linearization
University of Paderborn 17
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Each nodes that think its the node with biggest (smallest) identifier in the network, creates a ring edge
• Rules:• No neighbor with higher identifier => Tell node with smallest identfier to
create ringe edge • Node propdates ring edge to node with smaller identifer if possible: remove
and create
5. Ring Edge
University of Paderborn 18
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Weakly connected graph: stable after O(n log(n)) rounds • Node joins: stable after O(log2(n)) rounds • Node leaves: stable after O(log(n)) rounds
Re-Chord: Analysis
Too slow in contiguous churn szenarios
Ca-Re-ChordChurn Aware Re-Chord
University of Paderborn 19
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Each real node stores up to right real neighbors• Each virtual node stores up to right real neighbors• Node leaves: Quickfix instead of self-stabilization• Up to contiguous nodes can fail
Ca-Re-Chord: Idea
University of Paderborn 20
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Send find successor messages with time-to-live • Time-to-live descreased by 1 each hop• Successor reply messages indicates found successor• Datatrucuture updated
Ca-Re-Chord: Build up
University of Paderborn 21
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Apply quick-fixing in two situations• Ping fails• Message transmission fails (re-transmit)
• Quickfix can fix...• The embedded Chord ring (applied on real nodes)• The finger representations (applied on virtual nodes)
• Quickfixing can improve two things• Speed-up self-stabilization• Improve message delivery directly (message re-transmission)
• How to choose k? Should depend on...• Node failure rate • Desired robustness against churn (increases with k)• Acceptable message overhead (increases with k)
Ca-Re-Chord: Properties
University of Paderborn 22
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Assume that each node fails with propability• Then probability that contiguous nodes fail is • Value should be small constant (often )
Ca-Re-Chord: Churn resistance
University of Paderborn 23
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Evaluation
University of Paderborn 24
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• PeerfactSim.KOM• Realistic P2P network simulator
• Implementation of ...• Chord• Re-Chord• Ca-Re-Chord
• Settings• Initial Network Size: 1000 Nodes• Successors k=3• Drop packet after 50 hops
• Exponential churn• Mean session length = 60 min• Adjustable churn factor (?)• Let nodes join (60 min), churn after stabilization (1400 min)
Ca-Re-Chord: Evaluation
University of Paderborn 25
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Ca-Re-Chord: Evaluation (churn factor ???)
axis
University of Paderborn 26
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Ca-Re-Chord: Evaluation
University of Paderborn 27
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Ca-Re-Chord: Evaluation (Unklar)
University of Paderborn 28
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Conclusion
University of Paderborn 29
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
• Re-Chord • Self-stabilizing: Recover from every weakly connected graph• Not robust against churn • Stabilization too slow
• Ca-Re-Chord• Extends Re-Chord• Goal: churn resilience• Apply k-successor quickfixing before stabilization• Disadvantage: additional traffic (maintaining k links)
• Evaluation: Ca-Re-Chord as good as Chord
Conclusion
University of Paderborn 30
Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network
Tank you for your attention