The hyperring: a low-congestion deterministic data structure for distributed environments

In this paper we study the problem of designing searchable concurrent data structures with performance guarantees that can be used in a distributed environment where data elements are stored in a dynamically changing set of nodes. Searchable data structures are data structures that provide three basic operations: INSERT, DELETE, and SEARCH. In addition to searching for an exact match, we demand that for a data structure to be called "searchable", Search also has to be able to search for the closest successor or predecessor of a data item. Such a property has a tremendous advantage over just exact match, because it would allow to implement many data base applications.We are interested in finding a searchable concurrent data structure that has (1) a low degree, (2) requires a small amount of work for INSERT and DELETE operations, and (3) is able to handle concurrent search requests with low congestion and dilation.We present the first deterministic concurrent data structure, called Hyperring, that can fulfill all of these objectives in a polylogarithmic way. In fact, the Hyperring has a degree of O(log n), requires O(log3 n) work for INSERT and DELETE operations, and can handle concurrent search requests to random destinations, one request per node, with congestion and dilation O(log n) w.h.p.Most of the previous solutions for distributed environments are not searchable (in our sense) but only provide exact lookup, and those that are searchable do not have proofs about the congestion caused by concurrent search requests.

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

[2]  Faith Ellen,et al.  Optimal bounds for the predecessor problem , 1999, STOC '99.

[3]  R. K. Shyamasundar,et al.  Introduction to algorithms , 1996 .

[4]  J. Ian Munro,et al.  Brief announcement: deterministic skipnet , 2003, PODC '03.

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

[6]  Torben Hagerup,et al.  A Guided Tour of Chernoff Bounds , 1990, Inf. Process. Lett..

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

[8]  J. Ian Munro,et al.  Deterministic skip lists , 1992, SODA '92.

[9]  Peter Druschel,et al.  Pastry: Scalable, distributed object location and routing for large-scale peer-to- , 2001 .

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

[11]  Ben Y. Zhao,et al.  An Infrastructure for Fault-tolerant Wide-area Location and Routing , 2001 .

[12]  Xavier Messeguer Skip Trees, an Alternative Data Structure to Skip Lists in a Concurrent Approach , 1997, RAIRO Theor. Informatics Appl..

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

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

[15]  Michael A. Bender,et al.  Fault tolerant data structures , 1996, Proceedings of 37th Conference on Foundations of Computer Science.

[16]  Dennis Shasha,et al.  Concurrent search structure algorithms , 1988, TODS.

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

[18]  Edsger W. Dijkstra,et al.  Self stabilization in spite of distributed control , 1974 .

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

[20]  Uzi Vishkin,et al.  Parallel Computation on 2-3-Trees , 1983, RAIRO Theor. Informatics Appl..

[21]  Christian Scheideler,et al.  Universal Routing Strategies for Interconnection Networks , 1998, Lecture Notes in Computer Science.

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