Full-Information Lookups for Peer-to-Peer Overlays
Author(s)Rodrigues, Rodrigo; Gupta, Anjali; Fonseca, Pedro; Liskov, Barbara H.
MetadataShow full item record
Most peer-to-peer lookup schemes keep a small amount of routing state per node, typically logarithmic in the number of overlay nodes. This design assumes that routing information at each member node must be kept small so that the bookkeeping required to respond to system membership changes is also small, given that aggressive membership dynamics are expected. As a consequence, lookups have high latency as each lookup requires contacting several nodes in sequence. In this paper, we question these assumptions by presenting a peer-to-peer routing algorithm with small lookup paths. Our algorithm, called ldquoOneHop,rdquo maintains full information about the system membership at each node, routing in a single hop whenever that information is up to date and in a small number of hops otherwise. We show how to disseminate information about membership changes quickly enough so that nodes maintain accurate complete membership information. We also present analytic bandwidth requirements for our scheme that demonstrate that it could be deployed in systems with hundreds of thousands of nodes and high churn. We validate our analytic model using a simulated environment and a real implementation. Our results confirm that OneHop is able to achieve high efficiency, usually reaching the correct node directly 99 percent of the time.
DepartmentMassachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory
IEEE Transactions on Parallel and Distributed Systems
Institute of Electrical and Electronics Engineers
Fonseca, P. et al. “Full-Information Lookups for Peer-to-Peer Overlays.” Parallel and Distributed Systems, IEEE Transactions on 20.9 (2009): 1339-1351. © 2009 IEEE
Final published version
routing protocol, peer to peer, network topology, distributed data structures, Routing protocols, Network topology, Distributed systems, Distributed data structures, Distributed applications