compsci 514 computer networks lecture 21 2 from
play

CompSci 514: Computer Networks Lecture 21-2: From BitTorrent to - PowerPoint PPT Presentation

CompSci 514: Computer Networks Lecture 21-2: From BitTorrent to BitTyrant Problem Statement ... Server One-to-many content distribution Millions of clients downloading from the same server Evolving Solutions Observation:


  1. CompSci 514: Computer Networks Lecture 21-2: From BitTorrent to BitTyrant

  2. Problem Statement ... Server • One-to-many content distribution – Millions of clients downloading from the same server

  3. Evolving Solutions • Observation: duplicate copies of data are sent • Solutions – IP multicast – End system multicast – Content distribution networks e.g. Akamai – P2P cooperative content distribution • Bittorrent etc.

  4. IP multicast • End systems join a multicast group • Routers set up a multicast tree • Packets are duplicated and forwarded to multiple next hops at routers • Multicast pros and cons

  5. End system multicast • End systems rather than routers organize into a tree, forward and duplicate packets • Pros and cons

  6. Content distribution networks • Akamai – Works well but expensive, requires infrastructure support

  7. Peer-to-Peer Cooperative Content Distribution u Use the client’s uplink bandwidth u New problem: incentives for cooperation or how to motivate clients to upload

  8. The Gnutella approach u All nodes are true peers u A peer is the publisher, the uploader and the downloader. u No single point of failure. u Efficiency and scalability issue : u File searches span across a large number of nodes generating lots of traffic. u Integrity, i.e.content pollution issue : u Anyone can claim that he publishes valid content u No guarantee of quality of objects u Incentive issue : u No incentives for cooperation (free-riding in Gnutella)

  9. Outline u Problem of Content Distribution u The BitTorrent approach u BitTyrant

  10. BitTorrent overview Tracker 1 2 3 Leecher A Seeder Leecher C Leecher B u File is divided into chunks (e.g. 256KB) u ShA1 hashes of all the pieces are included in the .torrent file for integrity check u A chunk is divided into sub-pieces to improve efficiency u Seeders have all chunks of the file u Leechers have some or no chunks of the file

  11. BitTorrent overview Tracker 1 2 3 Leecher A Seeder Leecher C Leecher B u File is divided into chunks (e.g. 256KB) u ShA1 hashes of all the pieces are included in the .torrent file for integrity check u .torrent file has address of a tracker u Tracker tracks all downloaders

  12. Terminology • Seeder: peer with the entire file – Original Seed: The first seed • Leecher: peer that � s downloading the file – Fairer term might have been � downloader � • Sub-piece: Further subdivision of a piece – The � unit for requests � is a subpiece – But a peer uploads only after assembling complete piece

  13. BitTorrent overview View Seeder Tracker Leecher A Leecher A Leecher B Seeder Leecher C Leecher C Leecher B u Clients (seeders or leechers) contact the tracker u Tracker has complete view of the swarm

  14. BitTorrent overview Partial View View Seeder Seeder Tracker Leecher A Leecher B Leecher A Leecher B Seeder Leecher C Leecher C Leecher B u Tracker sends partial view to clients u Clients connect to peers in their partial view

  15. BitTorrent overview Tracker 1 2 3 Leecher A Seeder Leecher C Leecher B u Every 10 sec, seeders sample their peers’ download rates u Seeders unchoke 4-10 interested fastest downloaders

  16. BitTorrent overview Tracker Leecher A 3 1 2 Seeder Leecher C Leecher B u A node announces available chunks to their peers u Leechers request chunks from their peers ( locally rarest-first )

  17. BitTorrent overview Tracker Leecher A 1 Seeder Leecher C Leecher B u Rate-based tit-for-tat Every 30 sec , leechers optimistically unchoke 1-2 peers Optimistic unchoking helps in discover other faster peers and prompt them to reciprocate Bootstrap new peers with no data to upload

  18. BitTorrent overview Tracker Leecher A 1 Seeder Leecher C Leecher B u Rate-based tit-for-tat Every 30 sec , leechers optimistically unchoke 1-2 peers Every 10 sec, leechers sample their peers’ upload rates

  19. BitTorrent overview Tracker Leecher A 3 2 Seeder Leecher C Leecher B u Rate-based tit-for-tat Every 30 sec , client optimistically unchokes 1-2 peers Every 10 sec, seeder samples its peers’ upload rates Leecher unchokes 4-10 fastest interested uploaders Leercher chokes other peers Q: Why does this algo encourage cooperation?

  20. Scheduling: Choosing pieces to request • Rarest-first: Look at all pieces at all peers, and request piece that � s owned by fewest peers – Increases diversity in the pieces downloaded • avoids case where a node and each of its peers have exactly the same pieces; increases throughput – Increases likelihood all pieces still available even if original seed leaves before any one node has downloaded entire file

  21. Start time scheduling • Random First Piece: – When peer starts to download, request random piece. • So as to assemble first complete piece quickly • Then participate in uploads – When first complete piece assembled, switch to rarest-first

  22. Choosing pieces to request • End-game mode: – When requests sent for all sub-pieces, (re)send requests to all peers. – To speed up completion of download – Cancel request for downloaded sub-pieces

  23. Outline u Cooperative Content Distribution u The BitTorrent approach u BitTyrant

  24. BitTyrant: a strategic BT client • Question: can a strategic peer game BT to significantly improve its download performance for the same level of upload contribution? • Conclusion: incentives do not build robustness. Strategic peers can gain significantly in performance.

  25. Key ideas • Observations: – Choked as long as one is among the fastest peer set – High capacity peers equally split its upload rates to active set peers – Altruism comes from unnecessary contributions • Strategies: – Maximize per connection download bandwidth – Maximize the number of reciprocating peers – Do not upload more than needed for reciprocation

  26. BitTyrant strategy … p u p d p • Rank peers by d p /u p • Unchoke in decreasing order of peer ranking until upload capacity is saturated • Assumption: data is always available, download is not limited by data scarcity

  27. Challenges • Determining u p – Initialized with the expected equal split capacity obtained from measurement – Periodically update it • Increase multiplicatively if peer does not reciprocate • Decrease if peer does • Estimating d_p – Measure from download rate – Estimate from peer announced block available rate U: U/ActiveSize • Sizing the neighborhood – Request as fast as possible

  28. For each peer p , maintain estimates of expected download performance d p and upload required for reciprocation u p . Initialize u p and d p assuming the bandwidth distribution in Figure 2. d p is initially the expected equal split capacity of p . u p is initially the rate just above the step in the reciprocation probability. Each round, rank order peers by the ratio d p /u p and unchoke those of top rank until the upload capacity is reached. d 0 u 0 , d 1 u 1 , d 2 u 2 , d 3 u 3 , d 4 , ... u 4 | {z } choose k | P k i =0 u i ≤ cap At the end of each round for each unchoked peer: If peer p does not unchoke us: u p ← (1 + δ ) u p If peer p unchokes us: d p ← observed rate. If peer p has unchoked us for the last r rounds: u p ← (1 − γ ) u p Figure 9: BitTyrant unchoke algorithm

  29. BitTyrant Modelling • Reciprocation probability: – Probability that a peer will select the client with certain equal split as downloader in the next unchoking round • Active set: peers that upload to us • Neighborhood: peers that we connect to

  30. Notations

  31. Expected Reciprocation Probability Q P

  32. Expected Download Rate

  33. Summary • Bittorrent – Swarm-based distribution – Tit-for-tat for incentives • Bittyrant: a selfish client – Donot upload faster than necessary – Estimate minimum upload rates to warrant unchoking

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend