Swarming Overlay Construction Strategies Anwar Al Hamra1, Nikitas Liogkas2, Arnaud Legout3, Chadi Barakat3 1Hariri Canadian University, Damour, Lebanon 2Knight Equity Markets, L.P., Jersey City, NJ, USA 3 INRIA, Projet Planète, Sophia Antipolis, France
Get a .torrent file that contains the address of the tracker BitTorrent Overview Peer set (neighbor set) as defined in mainline 4.0.2 Maximum 80 connections in total Maximum 40 outgoing connections Results in a well connected graph Recent peers get a chance to be connected to old peers Web server Get a .torrent file that contains the address of the tracker random peer set Tracker
Peer Bootstrap Strategies Three strategies Tracker Default method, used by all clients DHT Distributed tracker Leads to the same overlay as the tracker strategy PEX (Peer EXchange) Implemented in most popular clients
Peer Bootstrap: Current Practice Current clients use a mix of tracker + DHT + PEX We focus on the tracker only strategy Classical bootstrap strategy Can be used in another context Fundamental to understand its properties
BitTorrent Overlay Structure Common wisdom is that BT builds random graphs with the tracker strategy Robust to churn Low diameter D Important for piece selection Does BT build a random graph?
Tracker Connectivity Matrix 1000 peers 40 maximum number of outgoing connections Not a random graph Still well connected 2000 connections between the first 80 peers and the rest of the torrent 610 192 Peers ordered by arriving time
Preemption Modification of When maximum peer set size reached Tracker strategy Just requires client support Backward compatible When maximum peer set size reached Always allows incoming connections from peers redirected by the tracker
OK Preemption Tracker only Preemption New peer Accept me in your peer set Tracker only Preemption Preemption enables rewiring of the graph
Connectivity Matrices Omax=40 Tracker Preemption
Focus of the Presentation Impact of Omax during the flash crowd phase Churn might improve overlay structure But, flash crowd is the most critical phase Single seed Overlay structure dictates pieces propagation Impact of Omax during flash crowd on the overlay structure obtained with Tracker Preemption
Outline Background Impact of Omax on BitTorrent overlay properties Connectivity matrices Metrics
Methodology Simulations with 1000 peers Flash crowd phase Validated with experiments Omax: 5 to 80 Max peer set size: 80 Tracker returns 50 peers Flash crowd phase Before the first peer leaves the torrent
Connectivity Matrices Omax=20 Preemption Tracker
Connectivity Matrices Omax=40 Tracker Preemption
Connectivity Matrices Omax=60 Tracker Preemption
Connectivity Matrices Omax=80 Tracker Preemption Partition
Outline Background Impact of Omax on BitTorrent overlay properties Connectivity matrices Metrics
Metrics Bottleneck index Ratio of the number of connections between the first 80 peers and the rest of the peers, to the maximum possible number of such connections (80 ¤ 80 = 6400 connections) Indication of the presence of a bottleneck between the initial seed peer set and the rest of the torrent
Metrics Average peer set size Diameter Average number of neighbors for all peers Diameter Longest shortest path between any two peers
Results Averages over 10 runs. Errorbars represent the min and max
Results partition
Which Omax? Tracker strategy Preemption 20 to 40 gives a good tradeoff 40 to 80 is used in current clients Preemption 80 is optimal for the three metrics With preemption no more the need to define a constraint on Omax
Conclusion The BitTorrent overlay is not random with tracker only strategy Specific structure Omax is an important parameter Preemption strategy improves overlay structure No more need to set Omax Outperforms tracker strategy for all 3 metrics
Advertisement: If you are interested in P2P locality, have a look at Stevens Le Blond, Arnaud Legout, Walid Dabbous. Pushing BitTorrent Locality to the Limit. Technical Report (inria-00343822, version 2 - 12 May 2009), INRIA, Sophia Antipolis, May 2009. http://hal.inria.fr/inria-00343822/en/ Thank you! Questions? Simulator available at: http://planete.inria.fr/software/BitSim/