Modeling and Performance Analysis of Bit Torrent-Like Peer-to-Peer

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

Related docs
Other docs by open1tup
Contracts Outline- Alford(1)
Views: 1678  |  Downloads: 68
Start Italian in Your School
Views: 824  |  Downloads: 7
Jesus is Lord
Views: 278  |  Downloads: 1
Installment land contract
Views: 479  |  Downloads: 39
Farley v Champs Fine Foods
Views: 198  |  Downloads: 1
dv105
Views: 240  |  Downloads: 1
I Will Enter His Gates
Views: 942  |  Downloads: 5
That s Why We Praise Him
Views: 273  |  Downloads: 3
dv108c
Views: 126  |  Downloads: 0
app002
Views: 103  |  Downloads: 0
Tell Me the Story of Jesus
Views: 337  |  Downloads: 3
Lewis pick Hay Scott McMichael
Views: 278  |  Downloads: 0
Sources in US History Online: Civil War
Views: 321  |  Downloads: 2
Fuller McCoy Kelley
Views: 230  |  Downloads: 1
disc001
Views: 201  |  Downloads: 1