Ranch: a dynamic network topology

Peer-to-peer computing is an emerging paradigm that has the potential of harnessing enormous amounts of under-utilized computational resources (e.g., home computers). A central problem in peer-to-peer computing is how to organize the network nodes so that sophisticated applications can be efficiently supported. The cornerstone of a peer-to-peer network is a dynamic network topology that determines the neighbor relationships to be maintained by the network nodes. This dissertation is concerned with algorithmic and concurrency issues in dynamic network topologies. We present Ranch (random cbyclic hbypercube), a simple, recursive topology consisting of a collection of rings. Ranch is a scalable topology. In particular, it has logarithmic in-degree, out-degree; and diameter; and it uses only a logarithmic number of messages for a node to join or leave the network. Ranch also has a number of additional desirable properties, including locality awareness and fault tolerance. We show how to build a name resolution scheme for Ranch that enables the peer-to-peer network to find data items efficiently. Our results include a name replication scheme and a fault-tolerant lookup algorithm. We address the problem of topology maintenance in peer-to-peer networks, that is, how to properly update the neighbor variables when nodes join and leave the network, possibly concurrently. We design, and prove the correctness of, protocols that maintain the ring topology; the basis of several peer-to-peer networks, in the fault-free environment. Our protocols handle both joins and leaves actively (i.e., they update the neighbor variables as soon as a join or a leave occurs). We use an assertional method to prove the correctness of our protocols; that is, we first design a global invariant for a protocol and then show that every action of the protocol preserves the invariant. Our protocols are simple and our proofs are rigorous and explicit. We extend our results on the maintenance of rings to address the maintenance of Ranch. We present active and concurrent maintenance protocols that handle both joins and leaves for Ranch, along with their assertional correctness proofs. The protocols for Ranch use the protocols for rings as a building block. The protocols and the correctness proofs for Ranch substantially extend those for rings. We present simulation results that demonstrate the scalability and locality awareness of Ranch.

[1]  Simon S. Lam,et al.  Neighbor table construction and update in a dynamic peer-to-peer network , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[2]  Nicholas J. A. Harvey,et al.  Family trees: an ordered dictionary with optimal congestion, locality, degree, and search time , 2004, SODA '04.

[3]  Daniel Lehmann,et al.  On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem , 1981, POPL '81.

[4]  Moni Naor,et al.  Know thy neighbor's neighbor: the power of lookahead in randomized P2P networks , 2004, STOC '04.

[5]  Eli Upfal,et al.  Building low-diameter P2P networks , 2001, Proceedings 2001 IEEE International Conference on Cluster Computing.

[6]  Ben Y. Zhao,et al.  Tapestry: a resilient global-scale overlay for service deployment , 2004, IEEE Journal on Selected Areas in Communications.

[7]  Ben Y. Zhao,et al.  Bayeux: an architecture for scalable and fault-tolerant wide-area data dissemination , 2001, NOSSDAV '01.

[8]  Christian Scheideler,et al.  The hyperring: a low-congestion deterministic data structure for distributed environments , 2004, SODA '04.

[9]  Ramesh Govindan,et al.  Incrementally improving lookup latency in distributed hash table systems , 2003, SIGMETRICS '03.

[10]  Ronald L. Rivest,et al.  Introduction to Algorithms , 1990 .

[11]  David R. Karger,et al.  Finding nearest neighbors in growth-restricted metrics , 2002, STOC '02.

[12]  H. Chernoff A Measure of Asymptotic Efficiency for Tests of a Hypothesis Based on the sum of Observations , 1952 .

[13]  David R. Karger,et al.  Analysis of the evolution of peer-to-peer systems , 2002, PODC '02.

[14]  William Pugh,et al.  Skip Lists: A Probabilistic Alternative to Balanced Trees , 1989, WADS.

[15]  David R. Karger,et al.  Chord: a scalable peer-to-peer lookup protocol for internet applications , 2003, TNET.

[16]  N. Biggs THE TRAVELING SALESMAN PROBLEM A Guided Tour of Combinatorial Optimization , 1986 .

[17]  Edith Cohen,et al.  Search and replication in unstructured peer-to-peer networks , 2002, ICS '02.

[18]  Xiaozhou Li,et al.  Brief announcement: concurrent maintenance of rings , 2004, PODC '04.

[19]  Gurmeet Singh Manku,et al.  Symphony: Distributed Hashing in a Small World , 2003, USENIX Symposium on Internet Technologies and Systems.

[20]  Christian Scheideler,et al.  Pagoda: a dynamic overlay network for routing, data management, and multicasting , 2004, SPAA '04.

[21]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[22]  Edward A. Ashcroft,et al.  Proving Assertions about Parallel Programs , 1975, J. Comput. Syst. Sci..

[23]  Noga Alon,et al.  The Probabilistic Method , 2015, Fundamentals of Ramsey Theory.

[24]  Pierre Fraigniaud,et al.  Brief announcement: an overview of the content-addressable network D2B , 2003, PODC '03.

[25]  Antony I. T. Rowstron,et al.  Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems , 2001, Middleware.

[26]  Xiao-zhou Li Maintaining the Chord Ring , 2004 .

[27]  Robert Krauthgamer,et al.  Object location in realistic networks , 2004, SPAA '04.

[28]  Mohamed G. Gouda Elements of network protocol design , 1998 .

[29]  Scott Shenker,et al.  Making gnutella-like P2P systems scalable , 2003, SIGCOMM '03.

[30]  Mark Handley,et al.  A scalable content-addressable network , 2001, SIGCOMM '01.

[31]  Peter Druschel,et al.  Exploiting network proximity in peer-to-peer overlay networks , 2002 .

[32]  Moni Naor,et al.  Viceroy: a scalable and dynamic emulation of the butterfly , 2002, PODC '02.

[33]  Edith Cohen,et al.  Replication strategies in unstructured peer-to-peer networks , 2002, SIGCOMM.

[34]  Rajmohan Rajaraman,et al.  A data tracking scheme for general networks , 2001, SPAA '01.

[35]  Xiaozhou Li,et al.  Active and Concurrent Topology Maintenance , 2004, DISC.

[36]  Leslie Lamport,et al.  An Assertional Correctness Proof of a Distributed Algorithm , 1982, Sci. Comput. Program..

[37]  Ronald L. Rivest,et al.  Introduction to Algorithms, Second Edition , 2001 .

[38]  J. Davenport Editor , 1960 .

[39]  Michael B. Jones,et al.  SkipNet: A Scalable Overlay Network with Practical Locality Properties , 2003, USENIX Symposium on Internet Technologies and Systems.

[40]  Frank Thomson Leighton Introduction to parallel algorithms and architectures: arrays , 1992 .

[41]  Antony I. T. Rowstron,et al.  Squirrel: a decentralized peer-to-peer web cache , 2002, PODC '02.

[42]  David R. Karger,et al.  Kademlia: A peer-to-peer information system based on the xor metric , 2003 .

[43]  Rajmohan Rajaraman,et al.  Accessing Nearby Copies of Replicated Objects in a Distributed Environment , 1997, SPAA '97.

[44]  Xiaozhou Li,et al.  On name resolution in peer-to-peer networks , 2002, POMC '02.

[45]  F. Leighton,et al.  Introduction to Parallel Algorithms and Architectures: Arrays, Trees, Hypercubes , 1991 .

[46]  Moni Naor,et al.  Novel architectures for P2P applications: the continuous-discrete approach , 2003, SPAA '03.

[47]  Mohamed G. Gouda,et al.  Correct implementation of network protocols , 2004 .

[48]  James Aspnes,et al.  Skip graphs , 2003, SODA '03.

[49]  Pascal Felber,et al.  Efficient search in unstructured peer-to-peer networks , 2004, SPAA '04.

[50]  David R. Karger,et al.  Chord: A scalable peer-to-peer lookup service for internet applications , 2001, SIGCOMM '01.

[51]  Satish Rao,et al.  A note on the nearest neighbor in growth-restricted metrics , 2004, SODA '04.

[52]  Anish Arora,et al.  Closure and Convergence: A Foundation of Fault-Tolerant Computing , 1993, IEEE Trans. Software Eng..

[53]  Ben Y. Zhao,et al.  Distributed Data Location in a Dynamic Network , 2002 .

[54]  D. Malkhi,et al.  LAND: stretch (1 + ε) locality-aware networks for DHTs , 2004, SODA '04.

[55]  Miguel Castro,et al.  SplitStream: High-Bandwidth Content Distribution in Cooperative Environments , 2003, IPTPS.

[56]  Mark Handley,et al.  Application-Level Multicast Using Content-Addressable Networks , 2001, Networked Group Communication.

[57]  N. Lynch,et al.  Atomic Data Access in Content Addressable Networks A Position Paper , 2002 .