Outline Ozalp Babaoglu • P2P networks are usually open systems Inducing Cooperation in • Possibility to free-ride Peer-to-Peer Systems • High levels of free-riding can seriously degrade global performance • We present a simple algorithm (SLAC) that sustains Ozalp Babaoglu high levels of cooperation despite selfish nodes Dipartimento di Scienze dell’Informazione • We show that certain types of cheating and lying Università di Bologna behavior do not necessarily destroy cooperation (on Italy the contrary, may even improve it!) University of Bologna 2 The SLAC Algorithm SLAC Algorithm: “Copy and Rewire” Ozalp Babaoglu Ozalp Babaoglu Node p periodically executes the following: E F D q = SelectPeer() if utility q > utility p G drop all current links C o m p C a r e u t i l i t i e s link to node q and copy its strategy and links A A H mutate (with low probability) strategy and links fi “Copy” strategy B Peer selection based on a random overlay network (newscast), “Rewire” K J whereas copying , rewiring and mutating are with respect to an application (strategy) over an “interaction network” University of Bologna University of Bologna 3 4
SLAC Algorithm: “Mutate” Prisoner’s Dilemma Ozalp Babaoglu Ozalp Babaoglu • We test SLAC with Prisoner’s Dilemma (PD) E F • Captures the conflict between “individual rationality” and D “common good” • Defection ( D ) leads to higher individual utility G • Cooperation ( C ) leads to higher global utility C A H C D C R,R S,T “Mutate” strategy D T,S P,P B Drop current links K • T > R > P > S and 2R > T + S J Link to random node University of Bologna University of Bologna 5 6 Prisoner’s Dilemma Why Does SLAC Work? Ozalp Babaoglu Ozalp Babaoglu • SLAC produces very high levels of cooperation • Prisoner’s Dilemma in SLAC • Nodes “move” throughout the network to find better • Nodes play PD with neighbors chosen randomly in the neighborhoods interaction network • This results in an evolution of the (interaction) network • Only pure strategies (always C or always D ) • Group-like selection between clusters • Strategy mutation: flip current strategy • Clusters of cooperating nodes grow and persist • Utility: average payoff achieved • Defecting nodes tend to become isolated University of Bologna University of Bologna 7 8
Example Cycle 180: Small Defective Clusters Ozalp Babaoglu Ozalp Babaoglu • 500 nodes • Initial state: • All defectors • Random interaction network University of Bologna University of Bologna 9 10 Cycle 230: Cycle 220: Cooperation Emerges Cooperating Cluster Starts to Break Apart Ozalp Babaoglu Ozalp Babaoglu University of Bologna University of Bologna 11 12
Cycle 300: Defective Nodes Isolated, Cooperation Trend Small Cooperative Clusters Formed Ozalp Babaoglu Ozalp Babaoglu % of cooperating nodes University of Bologna University of Bologna 13 14 P2P File Sharing Application P2P File Sharing Application Ozalp Babaoglu Ozalp Babaoglu • Simplified version of a model by Q. Sun & H. Garcia- Molina 2004 Selfishness decreases • Nodes control how much capacity devoted to generating or answering queries based on � = [ 0...1 ] • � = 1.0 selfish (only generates queries) • � = 0.0 altruist (only answers queries) Average performance increases • We take as node utility the number of hits • Mutation of strategy: change � randomly 10,000-node network • Flood fill query forwarding, TTL’s, etc. University of Bologna University of Bologna 15 16
Broadcast Application Broadcast Application Ozalp Babaoglu Ozalp Babaoglu • Given a network with N nodes and L links • Given a network of nodes, broadcasting involves • A spanning tree has MC = N • A flood-fill algorithm has MC = L communicating a piece of information from a single node to all other nodes • For fixed networks containing reliable nodes, it is • To do this efficiently involves: possible to use an initial flood-fill to build a spanning • Minimizing the number of messages sent ( MC ) tree from any node • Maximizing the percentage of nodes that receive the • Practical if broadcasting initiated by a few nodes only message ( NR ) • In P2P applications this is not practical due to network • Minimizing the elapsed time ( TR ) dynamicity and the fact that all nodes may need to broadcast University of Bologna University of Bologna 17 18 Peer to Peer Networks Overview of Results Ozalp Babaoglu Ozalp Babaoglu • Nodes have no incentive to forward a message once • Peer to Peer (P2P) networks are generally: they have received it • Highly dynamic • Doing so assumes altruistic behavior • Completely decentralised • Simulation results of broadcasting in unstructured and • Open dynamic networks where nodes behave selfishly • Untrusted • Even without altruistic behavior, broadcasting can be • Hence many P2P networks generally settle for the sustained with L > MC > N basic flood-fill approach or some variant of it • Hence, better than flood-fill, worse than spanning tree • Superpeers topologies can improve the situation but • However, on average NR = 85% introduce network structuring overhead and require • Hence without altruism, NR is far from optimal (many superpeers to act altruistically nodes missing messages) University of Bologna University of Bologna 19 20
The Broadcast Scenario Results Ozalp Babaoglu Ozalp Babaoglu • • Initial network topology random Nodes selected randomly to initiate broadcast (one every 10 cycles) • Node initiates a broadcast by sending a message to each neighbor • Each node initially set to pass behavior • When receiving a message for the first time, node applies one of • Utilities initialized to zero two behaviors (strategies): • Considered two families of networks • Forward the message to all neighbors ( pass ) • • static with no churn (as a baseline) Do nothing ( drop ) • • dynamic with high churn (1% of nodes leave and re- Utilities are updated as follows: • Nodes that receive the message gain a benefit � enter each cycle) • • New nodes link to randomly selected nodes from the Nodes that pass the message incur a cost � • Assume � > � > 0 , indicating nodes have an incentive to receive population and are randomly assigned a behavior messages but also an incentive to not forward them { pass , drop } • We used � = 1, � = 0.2 University of Bologna University of Bologna 21 22 1000-node static random network 1000-node high churn network Ozalp Babaoglu Ozalp Babaoglu University of Bologna University of Bologna 23 24
Fixed random network Ozalp Babaoglu Average over 500 broadcasts x 10 runs University of Bologna 25
Recommend
More recommend