Modeling and Performance Analysis of BitTorrent-Like Peer-to-Peer Networks
Dongyu Qiu, R. Srikant Department of Electrical and Computer Engineering and Coordinated Science Lab University of Illinois
CSL, UIUC – p.1/23
Introduction
Peer-to-peer networks: Peers participate in an application level overlay network and operate as both servers and clients. Scalable: the service burden is distributed to all participating peers. Applications: File sharing, distributed directory service, web cache, storage, and grid computation etc. P2P file sharing: Kazza, Gnuttella, eDonkey/Overnet, BitTorrent. In some segments of the Internet, P2P traffic accounts for 40% of the Internet traffic.
CSL, UIUC – p.2/23
Overview of BitTorrent
Seed is a server that has the entire file
CSL, UIUC – p.3/23
Overview of BitTorrent
Seed is a server that has the entire file File stored in many pieces of 256 KB each
CSL, UIUC – p.3/23
Overview of BitTorrent
Seed is a server that has the entire file File stored in many pieces of 256 KB each A new peer starts downloading some pieces from the seed
CSL, UIUC – p.3/23
Overview of BitTorrent
Seed is a server that has the entire file File stored in many pieces of 256 KB each A new peer starts downloading some pieces from the seed If there are many peers, each peer will have different parts of the file
CSL, UIUC – p.3/23
Overview of BitTorrent
Seed is a server that has the entire file File stored in many pieces of 256 KB each A new peer starts downloading some pieces from the seed If there are many peers, each peer will have different parts of the file Key point: Peers download from each other
CSL, UIUC – p.3/23
Overview of BitTorrent
Peer 5 joins the network
CSL, UIUC – p.4/23
Overview of BitTorrent
Peer 5 joins the network downloads a .torrent file
CSL, UIUC – p.4/23
Overview of BitTorrent
Peer 5 joins the network downloads a .torrent file connects to the tracker
CSL, UIUC – p.4/23
Overview of BitTorrent
Peer 5 joins the network downloads a .torrent file connects to the tracker the tracker returns peer information
CSL, UIUC – p.4/23
Overview of BitTorrent
Peer 5 joins the network downloads a .torrent file connects to the tracker the tracker returns peer information connects to other peers and begins downloading
CSL, UIUC – p.4/23
Terminology
A peer which has the entire file is called a seed
CSL, UIUC – p.5/23
Terminology
A peer which has the entire file is called a seed A peer that is not a seed is called a downloader
CSL, UIUC – p.5/23
Terminology
A peer which has the entire file is called a seed A peer that is not a seed is called a downloader A downloader becomes a seed once it has the entire file
CSL, UIUC – p.5/23
Terminology
A peer which has the entire file is called a seed A peer that is not a seed is called a downloader A downloader becomes a seed once it has the entire file Each peer uploads to five other peers who give it the best download rates
CSL, UIUC – p.5/23
Terminology
A peer which has the entire file is called a seed A peer that is not a seed is called a downloader A downloader becomes a seed once it has the entire file Each peer uploads to five other peers who give it the best download rates Every 30 seconds, drops its connection to peer with the smallest download rate and picks a new one at random
CSL, UIUC – p.5/23
Issues to Be Addressed
Peer Evolution Scalability File Sharing Efficiency Incentive Mechanisms and its Effect.
CSL, UIUC – p.6/23
Model
x(t)
y(t)
x(t): number of downloaders, y(t): number of seeds
CSL, UIUC – p.7/23
Model
λ
x(t)
y(t)
x(t): number of downloaders, y(t): number of seeds λ: arrival rate of new requests
CSL, UIUC – p.7/23
Model
θx(t) λ x(t)
y(t)
x(t): number of downloaders, y(t): number of seeds λ: arrival rate of new requests θ: the rate at which downloaders abort the download
CSL, UIUC – p.7/23
Model
θx(t) λ cx(t) x(t) y(t)
x(t): number of downloaders, y(t): number of seeds λ: arrival rate of new requests θ: the rate at which downloaders abort the download c : downloading bandwidth, µ: uploading bandwidth of a peer
CSL, UIUC – p.7/23
Model
θx(t) λ µ(ηx(t) + y(t)) x(t) y(t)
x(t): number of downloaders, y(t): number of seeds λ: arrival rate of new requests θ: the rate at which downloaders abort the download c : downloading bandwidth, µ: uploading bandwidth of a peer η: effectiveness parameter (Yang and de Veciana)
CSL, UIUC – p.7/23
Model
θx(t) λ µ(ηx(t) + y(t)) x(t) y(t) γy(t)
x(t): number of downloaders, y(t): number of seeds λ: arrival rate of new requests θ: the rate at which downloaders abort the download c : downloading bandwidth, µ: uploading bandwidth of a peer η: effectiveness parameter (Yang and de Veciana) γ: seed departure rate
CSL, UIUC – p.7/23
A Simple Fluid Model
dx = λ − θx(t) − min{cx(t), µ(ηx(t) + y(t))}, dt dy = min{cx(t), µ(ηx(t) + y(t))} − γy(t), dt Comparison with download from a single server: Assume θ = 0, c = ∞ Departure rate of downloaders is µ, independent of x Need λ < µ for stability P2P is scalable, but single-server download is not
CSL, UIUC – p.8/23
Steady-State Performance
1 1 1 If 1 ≥ η ( µ − γ ), the downloading bandwidth is the c constraint: λ λ x= ¯ y= ¯ θ , c(1 + c ) γ(1 + θ ) c
CSL, UIUC – p.9/23
Steady-State Performance
1 1 1 If 1 ≥ η ( µ − γ ), the downloading bandwidth is the c constraint: λ λ x= ¯ y= ¯ θ , c(1 + c ) γ(1 + θ ) c 1 1 1 If 1 ≤ η ( µ − γ ), the uploading bandwidth is the c constraint: λ λ x= ¯ y= ¯ θ , θ , ν(1 + ν ) γ(1 + ν )
where
1 ν
1 1 1 = η ( µ − γ ).
CSL, UIUC – p.9/23
Steady-State Performance
Little’s law: Average download time 1 1 1 1 T = max{ , ( − )}. c η µ γ
CSL, UIUC – p.10/23
Steady-State Performance
Little’s law: Average download time 1 1 1 1 T = max{ , ( − )}. c η µ γ Scalability: T is not a function of λ, the request arrival rate
CSL, UIUC – p.10/23
Steady-State Performance
Little’s law: Average download time 1 1 1 1 T = max{ , ( − )}. c η µ γ Scalability: T is not a function of λ, the request arrival rate Need for incentives: When the seed departure rate γ increases, T increases
CSL, UIUC – p.10/23
Steady-State Performance
Little’s law: Average download time 1 1 1 1 T = max{ , ( − )}. c η µ γ Scalability: T is not a function of λ, the request arrival rate Need for incentives: When the seed departure rate γ increases, T increases Initially when the downloading rate c increases, T decreases. However, beyond a point the uploading rate becomes the bottleneck
CSL, UIUC – p.10/23
Steady-State Performance
Little’s law: Average download time 1 1 1 1 T = max{ , ( − )}. c η µ γ Scalability: T is not a function of λ, the request arrival rate Need for incentives: When the seed departure rate γ increases, T increases Initially when the downloading rate c increases, T decreases. However, beyond a point the uploading rate becomes the bottleneck Prior work assumes c = ∞ (motivated by the asymmetry in cable modem and DSL rates): doesn’t capture the above effect
CSL, UIUC – p.10/23
Effectiveness of File Sharing
For a given downloader i, we assume that it is connected to k other downloaders. η =1−P downloader i has no piece that the connected peers need .
We assume that the piece distributions between different peers are independent and identical. Then η =1−P downloader j needs no piece from downloader i
k
,
where j is a downloader connected to i. For each downloader, we assume that the number of pieces it has is uniformly distributed in {0, · · · , N − 1}, where N is the number of pieces of the served file.
CSL, UIUC – p.11/23
Effectiveness of File Sharing
Let ni be number of pieces at downloader i. P downloader j needs no piece from downloader i
= P{j has all pieces of downloader i} 1 P{j has all pieces of i|ni , nj } = 2 nj =1 ni =0 N 1 = 2 nj =1 ni =0 N
N −1 nj N −ni nj −ni N nj N −1 nj
N +1 N 1 log N = ≈ 2 N m=2 m N
CSL, UIUC – p.12/23
Effectiveness of File Sharing
log N η ≈1− N
k
In BitTorrent, each piece is typically 256KB. For a file that is a few hundreds of megabytes in size, N is of the order of several hundreds. Even if k = 1, η is very close to one. When k increases, η also increases but very slowly and the network performance increases slowly. Hence, when λ increases, the network performance increases but very slowly. When k = 0, η = 0.
CSL, UIUC – p.13/23
Stability
y
A1 = −(µη + θ) −µ µη −(γ − µ) −(θ + c) 0 c −γ .
A2
y= (( c−
η) µ
/
)x µ
A1
x
A2 =
A1 is a stable matrix, but A2 may not be a stable matrix However, the system is globally stable
0
CSL, UIUC – p.14/23
Characterizing Variability
How does the number of seeds and downloaders vary around the numbers predicted by the deterministic model? Peers arrive according to a Poisson process. Download times are exponentially distributed √ √ x(t) + λˆ(t), y(t) + λˆ(t), x y ˆ respectively, where X = (ˆ, y )T are described by an x ˆ Ornstein-Uhlenbeck process: ˆ ˆ dX(t) = AX(t)dt + BdW(t), A = A1 or A2
CSL, UIUC – p.15/23
Characterizing Variability
√ 1 − ρ − (1 − ρ) 0 , B= 0 0 (1 − ρ) − (1 − ρ)
where ρ = T θ/(T θ + 1).
In steady-state, the number of seeds and downloaders is Gaussian with covariance Σ : AΣ + ΣAT + BBT = 0.
CSL, UIUC – p.16/23
Simulation Result
250 200
λ=0.04 λ=0.4 λ=4 λ=40 simple fluid model
Normalized number of seeds
150
100
50
0 0
1000
2000 3000 time (min)
4000
5000
Figure 1: The evolution of the number of seeds as a function of time (µ = 0.00125, c = 0.002, θ = 0.001, γ = 0.005)
CSL, UIUC – p.17/23
Simulation Result
500 450 Normalized number of downloaders 400 350 300 250 200 150 100 50 0 0 1000
λ=0.04 λ=0.4 λ=4 λ=40 simple fluid model
2000 3000 time (min)
4000
5000
Figure 2: The evolution of the number of downloaders as a function of time (µ = 0.00125, c = 0.002, θ = 0.001, γ = 0.005)
CSL, UIUC – p.18/23
Simulation Result
1600 1400 1200 Histogram of y* 1000 800 600 400 200 0 −40 −20 0 20 40 60 λ=0.04 λ=0.4 λ=4 λ=40
y
*
Figure 3: Histogram of the variation of the number of seeds around the fluid model (µ = 0.00125, c = 0.002, θ = 0.001, γ = 0.005)
CSL, UIUC – p.19/23
Simulation Result
1200 1000 800 600 400 200 0 −60 λ=0.04 λ=0.4 λ=4 λ=40
Histogram of x*
−40
−20
0 x*
20
40
60
Figure 4: Histogram of the variation of the number of downloaders around the fluid model (µ = 0.00125, c = 0.002, θ = 0.001, γ = 0.005)
CSL, UIUC – p.20/23
Experimental Result
20 18 16 number of seeds 14 12 10 8 6 4 2 0 0 1000 2000 3000 time (min) 4000 5000 fluid model real trace
Figure 5: The evolution of the number of seeds as a function of time (real trace)
CSL, UIUC – p.21/23
Experimental Result
25 fluid model real trace 20 number of downloaders
15
10
5
0 0
1000
2000 3000 time (min)
4000
5000
Figure 6: The evolution of the number of downloaders as a function of time (real trace)
CSL, UIUC – p.22/23
Conclusions
Presented a simple fluid model for BitTorrent-like networks Studied the steady-state network performance and stability Obtained insight into the effect of different parameters on network performance Not covered in this talk: the effect of the built-in incentive mechanism of BitTorrent on network performance and the effect of optimistic unchoking on free-riding
CSL, UIUC – p.23/23