Unstructured P2P Networks Achieving Robustness and Scalability in Data Dissemination Scenarios Michael Mirold Seminar on Advanced Topics in Distributed.

Slides:



Advertisements
Similar presentations
P2P Streaming Protocol Pro- incentive Parameters draft-zeng-ppsp-protocol-pro-incentive-para-01 IETF79 Meeting Wenjun (Kevin) Zeng & Yingjie Gu Huawei.
Advertisements

Optimal Scheduling in Peer-to-Peer Networks Lee Center Workshop 5/19/06 Mortada Mehyar (with Prof. Steven Low, Netlab)
Peter R. Pietzuch Peer-to-Peer Computing – or how to make your BitTorrent downloads go faster... Peter Pietzuch Large-Scale Distributed.
Ion Stoica, Robert Morris, David Karger, M. Frans Kaashoek, Hari Balakrishnan MIT and Berkeley presented by Daniel Figueiredo Chord: A Scalable Peer-to-peer.
Cope with selfish and malicious nodes
Rarest First and Choke Algorithms Are Enough
Rarest First and Choke Algorithms are Enough Arnaud LEGOUT INRIA, Sophia Antipolis France G. Urvoy-Keller and P. Michiardi Institut Eurecom France.
The BitTorrent Protocol
The BitTorrent Protocol. What is BitTorrent?  Efficient content distribution system using file swarming. Does not perform all the functions of a typical.
Incentives Build Robustness in BitTorrent Author: Bram Cohen Presenter: Brian Liao.
Incentives Build Robustness in BitTorrent- Bram Cohen Presented by Venkatesh Samprati.
The BitTorrent protocol A peer-to-peer file sharing protocol.
Incentives Build Robustness in BitTorrent Bram Cohen.
Bit Torrent (Nick Feamster) February 25, BitTorrent Steps for publishing – Peer creates.torrent file and uploads to a web server: contains metadata.
Presentation by Manasee Conjeepuram Krishnamoorthy.
Cameron Dale and Jiangchuan LiuA Measurement Study of Piece Population in BitTorrent Introduction BitTorrent Experiment Results Simulation Discussion A.
Stochastic Analysis of File Swarming Systems The Chinese University of Hong Kong John C.S. Lui Collaborators: D.M. Chiu, M.H. Lin, B. Fan.
Seed Scheduling for Peer-to-Peer Networks Flavio Esposito Ibrahim Matta Pietro Michiardi Nobuyuki Mitsutake Damiano Carra.
Clustering and Sharing Incentives in BitTorrent Systems Arnaud Legout 1, Nikitas Liogkas 2, Eddie Kohler 2, Lixia Zhang 2 1 INRIA, Projet Planète, Sophia.
Exploiting BitTorrent For Fun (But Not Profit) Nikitas Liogkas, Robert Nelson, Eddie Kohler, Lixia Zhang University of California, Los Angeles.
Free-riding in BitTorrent Networks with the Large View Exploit Michael Sirivianos, Jong Han Park, Rex Chen and Xiaowei Yang University of California, Irvine.
CS 554. Peer-to-Peer Systems Faithfulness in Internet Algorithms Haridimos Kondylakis
CompSci 356: Computer Network Architectures Lecture 21: Content Distribution Chapter 9.4 Xiaowei Yang
CMPT 401 Summer 2007 Dr. Alexandra Fedorova Lecture XV: Real P2P Systems.
Game Theory Presented by Hakim Weatherspoon. Game Theory Main Question: Can we cheat (and get away with it)? BitTorrent –P2P file distribution tool designed.
Game Theory Presented by Hakim Weatherspoon. Game Theory BitTorrent Do Incentives Build Robustness in BitTorrent? BAR Gossip.
Alex Sherman Jason Nieh Cliff Stein.  Lack of fairness in bandwidth allocation in P2P systems:  Users are not incentivized to contributed bandwidth.
Rheeve: A Plug-n-Play Peer- to-Peer Computing Platform Wang-kee Poon and Jiannong Cao Department of Computing, The Hong Kong Polytechnic University ICDCSW.
Network Coding for Large Scale Content Distribution Christos Gkantsidis Georgia Institute of Technology Pablo Rodriguez Microsoft Research IEEE INFOCOM.
Peer-Assisted Content Distribution Networks: Techniques and Challenges Pei Cao Stanford University.
Modeling and analysis of BitTorrent-like P2P network Fan Bin Oct,1 st,2004.
Do Incentives Build Robustness in BitTorrent? Piatek, Isdal, Anderson, Krishnamurthy, and Venkataramani Piatek, Isdal, Anderson, Krishnamurthy, and Venkataramani.
Modeling and Performance Analysis of Bitorrent-Like Peer-to-Peer Networks Dongyu Qiu and R. Srikant University of Illinois, 2004 Presented by : Ran Zivhon.
1 Incentives Build Robustness in BitTorrent? Analysis on Bit Torrent Client performance By Jimmy Wong.
Incentives Build Robustness in BitTorrent 1st Workshop on Economics of Peer-to-Peer Systems 2003 Bram Cohen
BitTorrent Background. Common Scenario Millions want to download the same popular huge files (for free) –ISO’s –Media (the real example!) Client-server.
Bit Torrent (Nick Feamster) February 25, BitTorrent Steps for publishing – Peer creates.torrent file and uploads to a web server: contains metadata.
Communication (II) Chapter 4
University of Bologna, Italy How to cheat BitTorrent and why nobody does Simon Patarin and David Hales University of Bologna ECCS 2006,
BitTorrent Internet Technologies and Applications.
Probabilistic Broadcast Presented by Keren Censor 1.
BitTorrent Dr. Yingwu Zhu. Bittorrent A popular P2P application for file exchange!
A P2P file distribution system ——BitTorrent Pegasus Team CMPE 208.
1 BitHoc: BitTorrent for wireless ad hoc networks Jointly with: Chadi Barakat Jayeoung Choi Anwar Al Hamra Thierry Turletti EPI PLANETE 28/02/2008 MAESTRO/PLANETE.
Do incentives build robustness in BitTorrent? Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, Arun Venkataramani.
Do incentives build robustness in BitTorrent? Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, Arun Venkataramani Szabolcs Nagy, ELTE.
MULTI-TORRENT: A PERFORMANCE STUDY Yan Yang, Alix L.H. Chow, Leana Golubchik Internet Multimedia Lab University of Southern California.
2007/1/15http:// Lightweight Probabilistic Broadcast M2 Tatsuya Shirai M1 Dai Saito.
Prof. Mort AnvariStrayer University at Arlington, VAAugust Exposing and Eliminating Vulnerabilities to Denial of Service Attacks in Secure Gossip-Based.
A simple model for analyzing P2P streaming protocols. Seminar on advanced Internet applications and systems Amit Farkash. 1.
Bit Torrent Nirav A. Vasa. Topics What is BitTorrent? Related Terms How BitTorrent works Steps involved in the working Advantages and Disadvantages.
INTERNET TECHNOLOGIES Week 10 Peer to Peer Paradigm 1.
Peer-to-Peer Networks 10 Fast Download Christian Schindelhauer Technical Faculty Computer-Networks and Telematics University of Freiburg.
Chapter 29 Peer-to-Peer Paradigm Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display.
Lecture XV: Real P2P Systems
An example of peer-to-peer application
FairTorrent: BrinGing Fairness to Peer-to-Peer Systems
Introduction to BitTorrent
Controlling the Cost of Reliability in Peer-to-Peer Overlays
Designing a new BitTorrent Client
Determining the Peer Resource Contributions in a P2P Contract
Economics and Computation Week 7: The economics of P2P file sharing
Do incentives build robustness in BitTorrent?
Strayer University at Arlington, VA
Managing Inter-domain Traffic in the Presence of BitTorrent File-Sharing Srinivasan Seetharaman and Mostafa Ammar School of Computer Science Objective:
Small Is Not Always Beautiful
Do incentives build robustness in BitTorrent?
Simplified Explanation of “Do incentives build robustness in BitTorrent?” By James Hoover.
The BitTorrent Protocol
Content Distribution Networks + P2P File Sharing
Presentation transcript:

Unstructured P2P Networks Achieving Robustness and Scalability in Data Dissemination Scenarios Michael Mirold Seminar on Advanced Topics in Distributed Computing 2007/2008

2 Introduction Structured P2P  Node graph with predefined structure  Examples –Chord –Pastry –CAN Unstructured P2P  Random node graph  Examples –Gnutella –BitTorrent

3 Part I Do Ut Des, Tit-for-Tat or “How Leech Proof is BitTorrent Really?” Bases on papers: “Incentives Build Robustness in BitTorrent”, Bram Cohen “Do Incentives Build Robustness in BitTorrent?”, Michael Piatek, Tomas Isdal, Thomas Anderson, Arvind Krishnamurthy, Arun Venkataramani

4 What is BitTorrent?  Used for distribution of single files  File is split into pieces (32kB – 2MB)  Pieces are distributed within a swarm –denotes all nodes that are interested in the file  Downloaded pieces are redistributed  No single “server”: True peer-to-peer (except perhaps of tracker)

5 How Does BitTorrent Work? (1) Want really badly to make everyone enjoy my new holiday pictures (HDR  some GB) 1.2 Put Torrent-File onto web server Initial Seed Tracker “Ordinary” Web Server 1.3 Register as “downloader” 1.1 Create Torrent-File Torrent File - url of tracker - name: name of file - piece length - pieces (conc. of SHA1 hashes of all pieces) - file length

6 How Does BitTorrent Work? (2) Initial Seed Tracker 2.1 Request Torrent-File “Ordinary” Web Server 2.3 Send peer set (“Local Neighborhood”) 2.2 Register as downloader 2.4 Open connection 2.7 Send pieces 2.5 Handshake 2.6 Request

7 B choke At some Unspecial Moment… seed swarm non-seed our node active set peer set active set statically sized

8 BitTorrent in Action

9 Achieving Fairness in BitTorrent  Basis: Tit-for-Tat strategy –Famous in game theory (considered “best” strategy for winning Prisoners’ Dilemma) –Idea: Be cooperative to others Penalize defective behaviour but don’t be too unforgiving  Put in BitTorrent context –Grant upload capacity to n best uploaders n: size of active set + # of optimistic unchokes –“Choke”, i.e. stop uploading to, peers that don’t perform well recompute choking every 10 seconds –However: “Optimistically unchoke” peers twice every 30 seconds  Reward good uploaders with capacity

10 Sounds good in theory, but…  what if you have LOTS of upload capacity? –most of your peers are slower (see later) –nevertheless you must choose a few fastest peers probably already done –AND you have split your upload capacity equally!  you give your capacity away for free  this is called “ALTRUISM”  Altruism THE source of unfairness in BitTorrent  Unfair peers only need 1.be slightly “better” than average 2.prefer rich girls, i.e. highly altruistic peers remember: active set has static size

11 Unfairness/Altruism Illustrated Measure of altruism

12 Unfairness/Altruism Illustrated (2) Altruism as wasted upload capacity slow clients never get reciprocated  every byte is wasted fast clients contribute more than necessary

13 Real World Observations Reference implementation uses active set size of This is what you are competing against  be a bit faster! If you can upload > 14kB/s reciprocation prob > 99% !!

14 The Optimal Active Set Size * * for a peer with 300 kB/s UL capacity Optimal Set Size

15 BitTyrant – A Selfish BitTorrent Client  Based on Azureus Client –publicly available at  Exploiting the unfairness in BitTorrent  Minimizing altruism to improve efficiency  Mechanisms: –choose only “best” peers with respect to UL/DL ratio (see next slide) –deviate from equal split –optimize active set size

16 Peer Choice Optimization Algorithm  Step invariant: Maintain u p, d p of peer p –d p : Estimated download performance from p –u p : Estimated upload needed for reciprocation with p  Initially: set according to theor. distribution  Each step: Rank order peers according to and choose best peers for unchoking  After each round: –Has p unchoked us?  –Has p not unchoked us?  –Has p unchoked us for the last r rounds? 

17 Experiences using BitTyrant  Multiple BitTyrant peers: –depends on a few factors and not easily comparable –strategic, i.e. peers use adapted choking algorithm  swarm performance improved compared to BitTorrent –strategic & selfish, i.e. peer doesn’t give back excess capacity  swarm performance decreases dramatically  One BitTyrant peer: –median: 72%

18 Personal Opinion  Paper shows nice “hack”  Paper shows that there is no perfect fairness  Paper shows a sensible optimization  But: I think, model is too restricted –People’s goals unconsidered Altruistic people are often just that: altruistic (they don’t mind performing suboptimal) Everyone glad with BitTorrent, why optimize?  And: will this paper make the world a better place?

19 Part II Getting Almost Reliable Broadcast with Almost no Pain: “Lightweight Probabilistic Broadcast” Bases on papers: “Lightweight Probabilistic Broadcast”, 2003, Eugster, Guerraoui, Handurukande & Kouznetsov

20 Background & Motivation  Large scale event dissemination –Processes p 1, …, p n subscribe for topic t –Event e with topic t is delivered to p 1, …, p n  Reliable Broadcast –scales poorly  Network level Broadcast/Multicast –lacks reliability guarantees –also scalability problems  Complete view on the network  leads to unsustainable memory demands

21 The lpbcast Protocol  System contains n processes Π = {p 1, …, p n } –dynamically joining and leaving  Processes subscribe to a single topic –easily extendible to multiple topics –joining/leaving == subscribing/unsubscribing  Gossip sent to F random nodes in view i of process p i –F is “fanout” of process –view i is subset of procs currently known by p i  Gossips sent out periodically (non-synchronized)

22 Gossips  gossip: all-in-one record containing –gossip.events: event notifications –gossip.subs: subscriptions, –gossip.unsubs: unsubscriptions, –gossip.eventIds: history of events ids received so far  Containers don’t contain duplicates, i.e. they are set-like lists

23 Processes  Every process p has several buffers: –view (fixed maximum size l): contains processes that are known to / seen by p –subs (fixed maximum size |subs| M ): contains subscriptions received by p –unsubs (fixed maximum size |unsubs| M ): contains unsubscriptions received by p –events (fixed maximum size |events| M ): contains event notifications since last gossip emission –eventIds (fixed maximum size |eventIds| M ): ids of events seen so far –retrieveBuf: contains ids of events seen in gossip.eventids but not known

24 Example Fanout: 3 |view| M = 8 Process p i view (p i )

25 lpbcast procedures  Upon receiving a gossip message 1.Update view and unSubs with unsubscriptions 2.Update view with new subscriptions 3.Update events with new notifications 1.deliver notifications 2.update retrieveBuf for later retrieval of notifications 4.Perform housekeeping (truncate containers)  When sending a gossip message –fill gossip message accordingly

26 Example: Zeit T0 12 view2 subs2 unSubs events eventId subs1, 2 unSubs events eventId GOSSIP 3 view2 Subs2 unSubs eventse3 eventId view3 subs3 unSubs eventse3, e4 eventIde3,e4 subs3, 2 unSubs eventse3 eventIde3 GOSSIP subs3, 2 unSubs eventse3, e4 eventIde3, e4 GOSSIP

27 Example: Zeit T1 1 2 view2 subs2 unSubs events eventId subs1, 2 unSubs eventse18 eventId GOSSIP 3 view2 Subs2 unSubs events eventIde3, e4 view1,3 subs1,3 unSubs eventse5 eventIde3,e4,e5 subs3, 2 unSubs events eventIde3, e4 GOSSIP subs1,2,3 unSubs eventse5 eventIde3, e4,e5 GOSSIP subs1,2,3 unSubs eventse5 eventIde3,e4, e5 GOSSIP

28 Analytical Evaluation of lpbcast  Assumptions: –Π constant during evaluation –synchronous rounds –upper bound on latency –identical fanout F for all processes –probability of message loss ε –probability of crash τ –random view ind. uniformly distributed

29 Analytical Evaluation  Turns out that throughput is independent from view size l –provided that views are uniformly distributed  Membership stability (no partitioning) –increases with growing view size and/or system size –partitioning probability increases slowly with rounds: rounds for n=50, l=3

30 Practical Observations  Throughput does depend a bit on l  Explanation: –views not as uniformly distributed as assumed

31 Time to Infect all Processes  Simulation meets measurements pretty well  Fanout 3  1 msg injected  System size varies

32 Thank you for listening!