Analysis of the Evolution of Peer-to-Peer Systems

31
Analysis of the Evolution of Peer-to- Peer Systems Proseminar “Peer – to – Peer Information Systems” WS 04/05 Prof. Gerhard Weikum Speaker : Emil Zankov Tutor : Sebastian Michel

description

Analysis of the Evolution of Peer-to-Peer Systems. Proseminar “Peer – to – Peer Information Systems” WS 04/05 Prof. Gerhard Weikum. Speaker : Emil Zankov Tutor : Sebastian Michel. Talking Points. Motivation Related Work Problems Analysis Summary. What is an Ideal P2P Network?. - PowerPoint PPT Presentation

Transcript of Analysis of the Evolution of Peer-to-Peer Systems

Page 1: Analysis of the Evolution of Peer-to-Peer Systems

Analysis of the Evolution of Peer-to-Peer Systems

Proseminar “Peer – to – Peer Information Systems”

WS 04/05 Prof. Gerhard Weikum

Speaker : Emil ZankovTutor : Sebastian Michel

Page 2: Analysis of the Evolution of Peer-to-Peer Systems

Talking Points

Motivation Related Work Problems Analysis Summary

Page 3: Analysis of the Evolution of Peer-to-Peer Systems

What is an Ideal P2P Network?

Running continuously forever Efficient lookups Allow node to join and leave Properly rearranging the ideal

overlay

Page 4: Analysis of the Evolution of Peer-to-Peer Systems

Motivation

A P2P network works well when the nodes join sequential, but what is if this happen concurrently?

The overlay is no more ideal if fault occur

What happens if faults accumulate A real P2P system is almost never

in ideal state

Page 5: Analysis of the Evolution of Peer-to-Peer Systems

Goals

By existence of concurrent join und unexpected departure to guarantee:

Efficient lookups Connected Network Small number of idealization rounds

Page 6: Analysis of the Evolution of Peer-to-Peer Systems

Related Work

Node join and leave only at well-behaved network (Plaxton et al. 1997)

Fault tolerance only if |joining nodes| > |departing nodes|(Saia at al. 2002)

Maintenance using an central server (Pandurangan et al. 2001)

Page 7: Analysis of the Evolution of Peer-to-Peer Systems

The Chord P2P System

Finger Table 6

start

intsucc

7[7,0

)7

0[0,2

)3

2[2,6

)3

0

4

2

5

6

1

Finger Table 3

start

intsucc

4[4,5

)6

5[5,7

)6

7[7,3

)7

Finger Table 7

start

intsucc

0[0,1

)3

1[1,3

)3

3[3,7

)3

7

3

Page 8: Analysis of the Evolution of Peer-to-Peer Systems

Half-Life Definition

Given a N node system at time t Doubling time(DT) – a time from t

required for N additional nodes to join

Halving time(HT) – a time from t required for N/2 live nodes to depart

Half-Life is Min(DT,HT)

Half-Life is a coarse factor of the rate of change of a system

Page 9: Analysis of the Evolution of Peer-to-Peer Systems

Loopy Problem

Loopy states Weakly ideal Strong ideal

Reasons Impl. Bugs Breakdown of join/depart Model Low probability events

1

8

21

14

48

56

32

Page 10: Analysis of the Evolution of Peer-to-Peer Systems

Appendages Problem

Recently joined nodes

Non empty tree rooted at any node

Page 11: Analysis of the Evolution of Peer-to-Peer Systems

Failure Problem Split the Network Inconsistent lookup

Page 12: Analysis of the Evolution of Peer-to-Peer Systems

The Ideal Chord State Connectivity

Exist path between any two nodes Randomness

Independently and uniformly distributed nodes

Cycle sufficiency Every node is on the cycle

Non-loopiness

successor)u(uv v Cycu .,:

Page 13: Analysis of the Evolution of Peer-to-Peer Systems

The Ideal Chord State

Successor list validity Every u.successor_list contains the

first c*logN nodes that follows u, c=O(1)

Finger validity The first node following is stored as u.finger[i]

1i2u

Page 14: Analysis of the Evolution of Peer-to-Peer Systems

A Failure Model Definition

Successor list validity Every |Lu|≥(c/3)*logN Every Lu contains exacly the first |Lu| live

nodes that follow u

Finger validity If u.finger[i] is alive then it’s the first live node following 12 iu

Page 15: Analysis of the Evolution of Peer-to-Peer Systems

A Pure Failure Model

1

5

78

10

12

14

151 5 7

15

1 5

14

15

1

12

14

15

10

12

14

8 10 12

5 7 8

15 1 5

5 7 8

7 8 10

8 10 1212

14

15 10 12 15

1 5 7

7 10 12

14

15 1

1 7

14

110 14

7 10

N node networkN/2 nodes fail1/3 live successor1 Idealization round2 Idealization and clean

Page 16: Analysis of the Evolution of Peer-to-Peer Systems

Lemma

For an N node network in with failure, occur N/2 oblivious failures during Ω(logN) idealization rounds, then:

=> Throughout this process,find_successor(q) returns the first living successor of q in O(logN) time

=> Resulting network is in cycle with failures state

Page 17: Analysis of the Evolution of Peer-to-Peer Systems

A Pure Join Model

O(logN) incorporating

roundsO(log²N) time fully incorporating

Network with appendages1 incorporating round2 incorporating round3 incorporating round

Page 18: Analysis of the Evolution of Peer-to-Peer Systems

A Join Model Definition

)(log NAu The finger are correct with

respect to a constant fraction of the nodes on the system

uAu at rooted nodes appendage

Page 19: Analysis of the Evolution of Peer-to-Peer Systems

Lemma

For a N node network with appendages, suppose that during Ω(log²N) rounds of idealization N nodes join the network, then:

=> Throughout this process, find_successor(q) returns in O(logN) time the successor s Cyc or a As

=> the resulting network is in cycle with appendages state

Page 20: Analysis of the Evolution of Peer-to-Peer Systems

Proof

O(logN) time to find any old node

O(logN) round to incorporate the new nodes from the appendages

Page 21: Analysis of the Evolution of Peer-to-Peer Systems

A Dynamic Model Definition

Union from the Join Model and the Failure Model

Cycle sufficiency For any consecutive cycle nodes u1.....ulogN

=>

)(loglog

1

NAN

iui

Page 22: Analysis of the Evolution of Peer-to-Peer Systems

Theorem

A network of N nodes in cycle with appendages and failures state, allow up to N oblivious joins and N/2 failures at time over D*log²N (D=O(1))idealization rounds, then:

=> find_successor(q) returns the first living successor of q in O(logN) time=> The resulting network is in cycle with appendages and failures state

Page 23: Analysis of the Evolution of Peer-to-Peer Systems

Proof Incorporation of node from each

appendage in each round is not sure, since cycle node fails

Page 24: Analysis of the Evolution of Peer-to-Peer Systems

Proof

Cycle nodes fails, causing their appendages merge together

Page 25: Analysis of the Evolution of Peer-to-Peer Systems

Summary

The Chord system works good in existence of dynamic departures and joins Resolve queries efficient O(logN) time The maintenance work can be reduced

by logarithmic factors

Page 26: Analysis of the Evolution of Peer-to-Peer Systems

Thanks?

Questions?

Page 27: Analysis of the Evolution of Peer-to-Peer Systems

Summary

The Chord system works good in existence of dynamic departures and joins Resolve queries efficient O(logN) time The maintenance work can be

reduced by logarithmic factors How can we find the Half-Life?

Page 28: Analysis of the Evolution of Peer-to-Peer Systems

Proof

Connected Network since logN live entries in successor_list nodes fail with constant probability

u.find_successor(k) is efficient the next node’s i-th finger is up with

1/2 probability each forwarding halves the distance

Clean the old failures in successor_list

Page 29: Analysis of the Evolution of Peer-to-Peer Systems

Proof

An N Node weak ideal network without loopy states have N successor pointer

10

152

6

8s[0]=15

s[0]=2

s[0]=6s[0]=8

s[0]=10s[1]=8

Page 30: Analysis of the Evolution of Peer-to-Peer Systems

Theorem

Within O(N²) rounds of strong idealization,

an arbitrary connected Chord network becomes strongly ideal

Page 31: Analysis of the Evolution of Peer-to-Peer Systems

How to Find a Loopy State

A Self Search

u

ww.predecessor