Relaxed balance for search trees with local rebalancing

  • Kim S. Larsen
  • Thomas Ottmann
  • Eljas Soisalon-Soininen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1284)


Search trees with relaxed balance were introduced with the aim of facilitating fast updating on shared-memory asynchronous parallel architectures. To obtain this, rebalancing has been uncoupled from the updating, so extensive locking in connection with updates is avoided. Rebalancing is taken care of by background processes, which do only a constant amount of work at a time before they release locks. Thus, the rebalancing and the associated locks are very localized in time as well as in space. In particular, there is no exclusive locking of whole paths. This means that the amount of parallelism possible is not limited by the height of the tree.

Search trees with relaxed balance have been obtained by adapting standard sequential search trees to this new paradigm; clearly using similar techniques in each case, but no general result has been obtained. We show how any search tree with local bottom-up rebalancing can be used in a relaxed variant preserving the complexity of the rebalancing from the sequential case. Additionally; we single out the one high level locking mechanism that a parallel implementation must provide in order to guarantee consistency.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    G. M. Adel'son-Vel'skiî and E. M. Landis, An Algorithm for the Organisation of Information. Soviet Math. Doklady 3 (1962) 1259–1263.Google Scholar
  2. 2.
    Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, Data Structures and Algorithms. Addison-Wesley, 1983.Google Scholar
  3. 3.
    Arne Andersson, Improving Partial Rebuilding by Using Simple Balance Criteria. “1st International Workshop on Algorithms and Data Structures”, Lecture Notes in Computer Science 382 (1989) 393–402.Google Scholar
  4. 4.
    Cecilia R. Aragon and Raimund G. Seidel, Randomized Search Trees. Proceedings of the 30th Annual IEEE Symposium on the Foundations of Computer Science (1989) 540–545.Google Scholar
  5. 5.
    R. Bayer, Symmetric Binary B-Trees: Data Structure and Maintenance Algorithms. Acta Informatica 1 (1972) 290–306.Google Scholar
  6. 6.
    R. Bayer and E. McCreight, Organization and Maintenance of Large Ordered Indexes. Acta Informatica 1 (1972) 173–189.Google Scholar
  7. 7.
    Norbert Blum and Kurt Mehlhorn, On the Average Number of Rebalancing Operations in Weight-Balanced Trees. Theoretical Computer Science 11 (1980) 303–320.Google Scholar
  8. 8.
    Joan Boyar, Rolf Fagerberg and Kim S. Larsen, Amortization Results for Chromatic Search Trees, with an Application to Priority Queues. “Fourth International Workshop on Algorithms and Data Structures”, Lecture Notes in Computer Science 955 (1994) 270–281. To appear in Journal of Computer and System Sciences.Google Scholar
  9. 9.
    Joan F. Boyar and Kim S. Larsen, Efficient Rebalancing of Chromatic Search Trees. Journal of Computer and System Sciences 49 (1994) 667–682.Google Scholar
  10. 10.
    Rolf Fagerberg, Personal communication, 1996.Google Scholar
  11. 11.
    Igal Galperin and Ronald L. Rivest, Scapegoat Trees. Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms (1993) 165–174.Google Scholar
  12. 12.
    Leo J. Guibas and Robert Sedgewick, A Dichromatic Framework for Balanced Trees. Proceedings of the 19th Annual IEEE Symposium on the Foundations of Computer Science (1978) 8–21.Google Scholar
  13. 13.
    S. Hanke, T. Ottmann and E. Soisalon-Soininen, Relaxed Balanced Red-Black Trees. “Proceedings 3rd Italian Conference on Algorithms and Complexity”, Lecture Notes in Computer Science 1203 (1997) 193–204.Google Scholar
  14. 14.
    J. E. Hopcroft, Title unknown, 1970. Unpublished work on 2–3 trees.Google Scholar
  15. 15.
    Scott Huddleston and Kurt Mehlhorn, A New Data Structure for Representing Sorted Lists. Acta Informatica 17 (1982) 157–184.Google Scholar
  16. 16.
    J. L. W. Kessels, On-the-Fly Optimization of Data Structures. Communications of the ACM 26 (1983) 895–901.Google Scholar
  17. 17.
    Kim S. Larsen, AVL Trees with Relaxed Balance. Proceedings of the 8th International Parallel Processing Symposium, IEEE Computer Society Press (1994) 888–893.Google Scholar
  18. 18.
    Kim S. Larsen and Rolf Fagerberg, Efficient Rebalancing of B-Trees with Relaxed Balance. International Journal of Foundations of Computer Science 7 (1996) 169–186.Google Scholar
  19. 19.
    Kurt Mehlhorn and Athanasios Tsakalidis, An Amortized Analysis of Insertions into AVL-Trees. SIAM Journal on Computing 15 (1986) 22–33.Google Scholar
  20. 20.
    J. Nievergelt and M. Reingold, Binary Search Trees of Bounded Balance. SIAM Journal on Computing 2 (1973) 33–43.Google Scholar
  21. 21.
    O. Nurmi, E. Soisalon-Soininen and D. Wood, Concurrency Control in Database Structures with Relaxed Balance. Proceedings of the 6th ACM Symposium on Principles of Database Systems (1987) 170–176.Google Scholar
  22. 22.
    Otto Nurmi and Eljas Soisalon-Soininen, Uncoupling Updating and Rebalancing in Chromatic Binary Search Trees. Proceedings of the Tenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems (1991) 192–198.Google Scholar
  23. 23.
    H. J. Olivié, A New Class of Balanced Trees: Half-Balanced Binary Search Trees. R.A.I.R.O. Informatique Théoretique 16 (1982) 51–71.Google Scholar
  24. 24.
    Th. Ottmann and E. Soisalon-Soininen, Relaxed Balancing Made Simple. Institut für Informatik, Universität Freiburg, Technical Report 71, 1995.Google Scholar
  25. 25.
    Neil Sarnak and Robert E. Tarjan, Planar Point Location Using Persistent Search Trees. Communications of the ACM 29 (1986) 669–679.Google Scholar
  26. 26.
    Daniel Dominic Sleator and Robert Endre Tarjan, Self-Adjusting Binary Trees. Proceedings of the 15th Annual ACM Symposium on the Theory of Computing (1983) 235–245.Google Scholar
  27. 27.
    Eljas Soisalon-Soininen and Peter Widmayer, Relaxed Balancing in Search Trees. Advances in Algorithms, Languages, and Complexity, D.-Z. Du and K.-I. Ko (Eds.), Kluwer Academic Publishers (1997) 267–283.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Kim S. Larsen
    • 1
  • Thomas Ottmann
    • 2
  • Eljas Soisalon-Soininen
    • 3
  1. 1.Department of Mathematics and Computer ScienceOdense UniversityOdense MDenmark
  2. 2.Institute of Computer ScienceFreiburg UniversityFreiburgGermany
  3. 3.Laboratory of Information Processing ScienceHelsinki University of TechnologyEspooFinland

Personalised recommendations