Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Principles of Reliable Distributed Systems Recitation 5 Efficient Broadcast in Structured P2P Networks Spring 2008 Alex Shraer
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Today’s Recitation “Efficient Broadcast in Structured P2P Networks” –El-Ansary et al. In 2nd International Workshop on Peer-to-Peer Systems (IPTPS '03) –See the web site
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Motivation We would like to search the network using arbitrary queries. (Not only key lookups) –“Look for the nodes that hold ‘Kill Bill Vol*’ ” –Statistical gathering queries –notifications A possible solution – broadcast the query to all the nodes in the network –How do we do it efficiently?
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Simple Solution Gnutella: Use a random connectivity graph and flood the query to all the neighbors –We can send arbitrary queries but, –Hit guarantees – Low, –Traffic – Enormous (not scalable). We would like to do better –Use a structured overlay network.
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Problem Definition Given an overlay network constructed by a P2P DHT system, find an efficient algorithm for broadcasting messages. –The algorithm should not depend on global knowledge of membership and, –should be of equal cost for any member in the system. What’s the most efficient number of messages needed to broadcast a message to all the nodes?
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Simple Solution (Take II) Ring traversal –Number of messages: N-1 (efficient) –Time: N-1 InitBroadcast
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Another look at Chord Chord actually performs a binary search Look at a fully-populated 8-node network:
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Constructing a spanning tree
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Taking Advantage of Structure Gnutella-like Broadcast –We know that setting TTL = log 2 (N) guarantees (with high probability) flooding to all nodes. Efficient Broadcast –Based on the spanning tree
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Initiating a Broadcast Notation:
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Processing a Broadcast NewLimit := min{Finger[i+1], Limit}
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Properties Coverage of all nodes. No redundancy. These properties are identical to the ring traversal algorithm. –Why use this algorithm? Is this algorithm fault tolerant?
Eddie Bortnikov/Aran Bergman, Principles of Reliable Distributed Systems, Technion EE, Spring Simulation Results