Abstract
We describe a new data structure, the Skip B-Tree, that combines the advantages of skip graphs with features of traditional B-trees. A skip B-Tree provides efficient search, insertion and deletion operations. The data structure is highly fault tolerant even to adversarial failures, and allows for particularly simple repair mechanisms. Related resource keys are kept in blocks near each other enabling efficient range queries.
Using this data structure, we describe a new distributed peer-to-peer network, the Distributed Skip B-Tree. Given m data items stored in a system with n nodes, the network allows to perform a range search operation for r consecutive keys that costs only O(log b m +r/b) where b=Θ(m/n). In addition, our distributed Skip B-tree search network has provable polylogarithmic costs for all its other basic operations like insert, delete, and node join. To the best of our knowledge, all previous distributed search networks either provide a range search operation whose cost is worse than ours or may require a linear cost for some basic operation like insert, delete, and node join.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abraham, I., Awerbuch, B., Azar, Y., Malkhi, D., Pavlov, E.: A generic scheme for building overlay networks in adversarial scenarios. In: Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS 2003) (April 2003)
Aumann, Y., Bender, M.A.: Fault Tolerant Data Structures. In: Proceedings of the Thirty-Seventh Annual Symposium on Foundations of Computer Science (FOCS), Burlington, VT, USA, pp. 580–589 (October 1996)
Azar, Y., Broder, A.Z., Karlin, A.R., Upfal, E.: Balanced allocations. SIAM J. Comput. 29(1), 180–200 (2000)
Aspnes, J., Kirsch, J., Krishnamurthy, A.: Load balancing and locality in range-queriable data structures. In: Twenty-Third ACM Symposium on Principles of Distributed Computing, pp. 115–124 (July 2004)
Aspnes, J., Shah, G.: Skip Graphs. In: Fourteenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), pp. 384–393 (January 2002) (submitted to Journal of Algorithms)
Awerbuch, B., Scheideler, C.: Peer-to-peer Systems for Prefix Search. In: Proceedings of the Twenty-Second ACM Symposium on Principles of Distributed Computing (PODC), Boston, MA, USA (July 2003)
Bayer, R.: Symmetric Binary B-trees: Data Structure and Maintainance Algorithms. Acta Informatica, 290–306 (1972)
Colbrook, A., Brewer, E.A., Dellarocas, C., Weihl, W.E.: An Algorithm for concurrent search trees. In: Proceedings of the 20th International Conference on Parallel Processing, pp. III138–III141 (1991)
Crainiceanu, A., Linga, P., Gehrke, J., Shanmugasundaram, J.: P-Tree: A P2P Index for Resource Discovery Applications. In: The 13th International World Wide Web Conference, pp. 390–392 (May 2004)
Datar, M.: Butterflies and Peer-to-Peer Networks. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 310–322. Springer, Heidelberg (2002)
Fiat, A., Saia, J.: Censorship Resistant Peer-to-Peer Content Addressable Networks. In: Proceedings of the Thirteenth Annual ACM-SIAM Symposium on Discrete Algorithms (SODA), San Francisco, CA, USA, pp. 94–103 (January 2002); Submitted to a special issue of Journal of Algorithms dedicated to select papers of SODA 2002
Gilon, K., Peleg, D.: Compact Deterministic Distributed Dictionaries. In: Proceedings of the Tenth Annual ACM Symposium on Principles of Distributed Computing, pp. 81–94 (1991)
Harvey, N.J.A., Jones, M.B., Saroiu, S., Theimer, M., Wolman, A.: SkipNet: A Scalable Overlay Network with Practical Locality Properties. In: Proceedings of the Fourth USENIX Symposium on Internet Technologies and Systems (USITS), Seattle, WA, USA, pp. 113–126 (March 2003)
Johnson, T., Colbrook, A.: A Distributed, Replicated, Data-Balanced Search Structure. International Journal of High Speed Computing 6, 475–500 (1994)
Kaashoek, F., Karger, D.R.: Koorde: A simple degree-optimal hash table. In: Kaashoek, M.F., Stoica, I. (eds.) IPTPS 2003. LNCS, vol. 2735. Springer, Heidelberg (2003)
Kenthapadi, K., Manku, G.S.: Decentralized algorithms using both local and random probes for p2p load balancing. In: SPAA 2005: Proceedings of the 17th annual ACM symposium on Parallelism in algorithms and architectures, pp. 135–144. ACM Press, New York (2005)
Karger, D.R., Ruhl, M.: Simple Efficient Load Balancing Algorithms for Peer-to-Peer Systems. In: ACM SPAA (2004)
Munro, J.I., Poblete, P.V.: Fault Tolerance And Storage Reduction In Binary Search Trees. Information and Control 62(2/3), 210–218 (1984)
Mitzenmacher, M., Richa, A.W., Sitaraman, R.: The power of two random choices: A survey of techniques and results (2001)
Pugh, W.: Skip Lists: A Probabilistic Alternative to Balanced Trees. Communications of the ACM 33(6), 668–676 (1990)
Ramabhadran, S., Ratnasamy, S., Hellerstein, J.M., Shenker, S.: Brief Announcement: Prefix Hash Tree. In: Proceedings of ACM PODC, St. Johns, Canada (July 2004)
Saia, J., Fiat, A., Gribble, S., Karlin, A., Saroiu, S.: Dynamically Fault-Tolerant Content Addressable Networks. In: Druschel, P., Kaashoek, M.F., Rowstron, A. (eds.) IPTPS 2002. LNCS, vol. 2429, pp. 270–279. Springer, Heidelberg (2002)
Shasha, D., Goodman, N.: Concurrent search structure algorithms. ACM Transactions on Database Systems, 53–90 (1988)
Stoica, I., Morris, R., Liben-Nowell, D., Karger, D.R., Kaashoek, M.F., Dabek, F., Balakrishnan, H.: Chord: A Scalable Peer-to-peer Lookup Service for Internet Applications. IEEE/ACM Transactions on Networking 11, 17–32 (2003)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Abraham, I., Aspnes, J., Yuan, J. (2006). Skip B-Trees. In: Anderson, J.H., Prencipe, G., Wattenhofer, R. (eds) Principles of Distributed Systems. OPODIS 2005. Lecture Notes in Computer Science, vol 3974. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11795490_28
Download citation
DOI: https://doi.org/10.1007/11795490_28
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-36321-7
Online ISBN: 978-3-540-36322-4
eBook Packages: Computer ScienceComputer Science (R0)