Abstract
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.
Some of the work was done while this author was visiting the Department of Computer Sciences, University of Wisconsin at Madison. The work of this author was supported in part by SNF (Denmark), in part by NSF (U.S.) grant CCR-9510244, and in part by the ESPRIT Long Term Research Programme of the EU under project number 20244 (Aalcom-IT).
This is a preview of subscription content, log in via an institution.
Preview
Unable to display preview. Download preview PDF.
References
G. M. Adel'son-Vel'skiî and E. M. Landis, An Algorithm for the Organisation of Information. Soviet Math. Doklady 3 (1962) 1259–1263.
Alfred V. Aho, John E. Hopcroft and Jeffrey D. Ullman, Data Structures and Algorithms. Addison-Wesley, 1983.
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.
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.
R. Bayer, Symmetric Binary B-Trees: Data Structure and Maintenance Algorithms. Acta Informatica 1 (1972) 290–306.
R. Bayer and E. McCreight, Organization and Maintenance of Large Ordered Indexes. Acta Informatica 1 (1972) 173–189.
Norbert Blum and Kurt Mehlhorn, On the Average Number of Rebalancing Operations in Weight-Balanced Trees. Theoretical Computer Science 11 (1980) 303–320.
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.
Joan F. Boyar and Kim S. Larsen, Efficient Rebalancing of Chromatic Search Trees. Journal of Computer and System Sciences 49 (1994) 667–682.
Rolf Fagerberg, Personal communication, 1996.
Igal Galperin and Ronald L. Rivest, Scapegoat Trees. Proceedings of the Fourth Annual ACM-SIAM Symposium on Discrete Algorithms (1993) 165–174.
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.
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.
J. E. Hopcroft, Title unknown, 1970. Unpublished work on 2–3 trees.
Scott Huddleston and Kurt Mehlhorn, A New Data Structure for Representing Sorted Lists. Acta Informatica 17 (1982) 157–184.
J. L. W. Kessels, On-the-Fly Optimization of Data Structures. Communications of the ACM 26 (1983) 895–901.
Kim S. Larsen, AVL Trees with Relaxed Balance. Proceedings of the 8th International Parallel Processing Symposium, IEEE Computer Society Press (1994) 888–893.
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.
Kurt Mehlhorn and Athanasios Tsakalidis, An Amortized Analysis of Insertions into AVL-Trees. SIAM Journal on Computing 15 (1986) 22–33.
J. Nievergelt and M. Reingold, Binary Search Trees of Bounded Balance. SIAM Journal on Computing 2 (1973) 33–43.
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.
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.
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.
Th. Ottmann and E. Soisalon-Soininen, Relaxed Balancing Made Simple. Institut für Informatik, Universität Freiburg, Technical Report 71, 1995.
Neil Sarnak and Robert E. Tarjan, Planar Point Location Using Persistent Search Trees. Communications of the ACM 29 (1986) 669–679.
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.
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.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1997 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Larsen, K.S., Ottmann, T., Soisalon-Soininen, E. (1997). Relaxed balance for search trees with local rebalancing. In: Burkard, R., Woeginger, G. (eds) Algorithms — ESA '97. ESA 1997. Lecture Notes in Computer Science, vol 1284. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63397-9_27
Download citation
DOI: https://doi.org/10.1007/3-540-63397-9_27
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-63397-6
Online ISBN: 978-3-540-69536-3
eBook Packages: Springer Book Archive