Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay...

30
Markus Benter, Mohammad Divband, Sebastian Kniesburges, Andreas Koutsopoulos, Kalman Graffi University of Paderborn 1 Ca-Re-Chord A Churn Resistant Self-stabilizing Chord Overlay Network Networked Systems 2013

description

Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

Transcript of Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay...

Page 1: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 2: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 3: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

University of Paderborn 3

Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network

Chord[Stoica et al., 2001]

Page 4: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 5: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 6: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

University of Paderborn 6

Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network

Re-Chord[Kniesburges et al., 2011]

Page 7: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

University of Paderborn 7

Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network

Re-Chord: Self-Stabilizing Chord

Page 8: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 9: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 10: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

University of Paderborn 10

Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network

Example: route from to

Re-Chord: State

Page 11: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 12: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 13: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 14: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 15: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 16: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 17: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 18: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 19: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 20: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 21: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 22: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 23: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

University of Paderborn 23

Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network

Evaluation

Page 24: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 25: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

University of Paderborn 25

Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network

Ca-Re-Chord: Evaluation (churn factor ???)

axis

Page 26: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

University of Paderborn 26

Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network

Ca-Re-Chord: Evaluation

Page 27: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

University of Paderborn 27

Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network

Ca-Re-Chord: Evaluation (Unklar)

Page 28: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

University of Paderborn 28

Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network

Conclusion

Page 29: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

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

Page 30: Kalman Graffi - IEEE NetSys 2013 - Ca-Re-Chord - A Churn Resistant Self-stabilizing Chord Overlay Network

University of Paderborn 30

Ca-Re-ChordA Churn Resistant Self-stabilizing Chord Overlay Network

Tank you for your attention