Loading in 2 Seconds...
Loading in 2 Seconds...
A Self-repairing Peer-to-Peer Systems Resilient to Dynamic Adversarial Churn. Fabian Kuhn, Microsoft Research, Silicon Valley Stefan Schmid, ETH Zurich Roger Wattenhofer, ETH Zurich. Some slides taken from Stefan Schmid’s presentation of his Masters thesis. Churn.
Fabian Kuhn, Microsoft Research, Silicon Valley
Stefan Schmid, ETH Zurich
Roger Wattenhofer, ETH Zurich
Some slides taken from Stefan Schmid’s presentation of his
Unlike servers, peers are transient!
Successful P2P systems have to cope with churn
(i.e., guarantee correctness, efficiency, etc.)!
How can peers collaborate in spite of churn?
a lot of churn
What can we guarantee in presence of churn?
We have to activelymaintain P2P systems!
Only a small number of P2P systems have been analyzed under churn!
This paper presents techniques to:
- Provably maintain P2P systems with desirable properties…
- in spite of ongoing worst-case membership changes.
Peer degree, network diameter, …
Adversary continuously attacks the weakest part
(The system is never fully repaired, but always fully functional)
Objects may be lost when the host crashes
Queries may not make it to the destination
What is the big deal about churn? Does not every P2P system
define Join and Leave protocols?
Well, the system eventually recovers, but during recovery, services
may be affected. And objects not replicated are lost.
Observe the difference between non-masking and masking
fault tolerance. What we need is some form of masking tolerance.
We assume worst-case perspective: Adversary A(J,L)
induces J joins and L leaves every round anywhere in
the system. We assume a synchronous model: time divided
Further refinement:Adversary A(J, L, r)implies
J joins, L leaves every r rounds
The topology is assumed to be a hypercube that has O(log n) degree and O(log n) diameter.
(e.g., connectivity, degree, …), but is also maintainable under churn!
There is always at least one peer per node (but not too many either).General Recipe for Robust Topologies
3. Maintain it:
a. Permanently run a peer distribution algorithm
which ensures that all vertices have roughly the same amount
of peers (“token distribution algorithm”).
b. Estimate the total number of peers in the system and change
“dimension of topology” accordingly
(“information aggregation algorithm” and “scaling algorithm”).
U = 11010
After one step of recovery, both U and V will contain (a+b) /2 peers.
Try this once for each dimension of the hypercube
(dimension exchange method)
Discrepancy is the maximum difference between the token count
of a pair of nodes. The goal is to reduce the discrepancy to 0. The
previous step reduces to 0 for fractional tokens, but for a
d-dimensional hypercube, using integer tokens, = d in the worst case
In presence of an A(J,K,1) adversary, the proposed algorithm
maintains the invariance of
≤ 2J + 2K + d
When the total number of peers N exceeds an upper bound, each node
splits into two, and the dimension of the hypercube has to increase by 1.
Similarly, when the total number of peers N falls below a lower bound,
pairs of nodes in dimension (d-1) merge into one, and the dimension of
the hypercube has to decrease by 1.
Thus, the system needs a mechanism to keep track of N.
Given an adversary A (d+1, d+1, 6)*,
* The adversary inserts and deletes at most (d+1) peers during
any time interval of 6 rounds
Only the core
peers store data
Despite churn, at
least one node in
each core has to
Example topology for d=2. Peers in each core
are connected to one another and to the peers
of the core of the neighboring nodes
Q. What does the periphery node do?
The authors implied six rounds for one dimension in each phase
Round 1. Each node takes snapshot of active peers within itself.
Round 2. Exchange snapshot
Round 3. Preparation for peer migration
Round 4. Core send ids of new peers to periphery.
Reduce dimension if necessary.
Round 5. Dimension growth & building new core (2d+3)
Round 6. Exchange information about the new core.
Using peer distribution and information aggregation algorithms
on the simulated pancake topology, he proposed:
A nice model for understanding the effect of churn and dealing with it. But it is too simplistic