Amortization results for chromatic search trees, with an application to priority queues
The intention in designing data structures with relaxed balance, such as chromatic search trees, is to facilitate fast updating on shared-memory asynchronous parallel architectures. To obtain this, the updating and rebalancing have been uncoupled, so extensive locking in connection with updates is avoided.
In this paper, we prove that only an amortized constant amount of rebalancing is necessary after an update in a chromatic search tree. We also prove that the amount of rebalancing done at any particular level decreases exponentially, going from the leaves towards the root. These results imply that, in principle, a linear number of processes can access the tree simultaneously.
We have included one interesting application of chromatic trees. Based on these trees, a priority queue with possibilities for a greater degree of parallelism than in previous proposals can be implemented.
KeywordsSearch Tree Priority Queue Binary Search Tree Weighted Height Chromatic Tree
Unable to display preview. Download preview PDF.
- 1.Adel'son-Vel'skii, G. M., Landis, E. M.: An Algorithm for the Organisation of Information. Dokl. Akad. Nauk SSSR 146 (1962) 263–266 (In Russian. English translation in Soviet Math. Dokl. 3 (1962) 1259–1263)Google Scholar
- 2.Aho, A. V., Hopcroft, J. E., Ullman, J. D.: Data Structures and Algorithms. Addison-Wesley (1983)Google Scholar
- 5.Biswas, J., Browne, J. C: Simultaneous Update of Priority Structures. Proc. 1987 Intl. Conf. on Parallel Processing (1987) 124–131Google Scholar
- 6.Boyar, J., Fagerberg, R., Larsen, K. S.: Chromatic Priority Queues. Department of Mathematics and Computer Science, Odense University. Preprint 15 (1994)Google Scholar
- 7.Boyar, J. F., Larsen, K. S.: Efficient Rebalancing of Chromatic Search Trees. Journal of Computer and System Sciences 49 (1994) 667–682Google Scholar
- 8.Guibas, L. J., Sedgewick, R.: A Dichromatic Framework for Balanced Trees. 19th IEEE FOCS (1978) 8–21Google Scholar
- 9.Hopcroft, J. E.: Unpublished work on 2–3 trees. (1970)Google Scholar
- 13.Larsen, K. S.: AVL Trees with Relaxed Balance. Proc. 8th Intl. Parallel Processing Symposium. IEEE Computer Society Press (1994) 888–893Google Scholar
- 14.Larsen, K. S., Fagerberg, R.: B-Trees with Relaxed Balance. (To appear in the proceedings of the 9th International Parallel Processing Symposium 1995)Google Scholar
- 15.Nurmi, O., Soisalon-Soininen, E.: Uncoupling Updating and Rebalancing in Chromatic Binary Search Trees. ACM PODS (1991) 192–198Google Scholar
- 16.Nurmi, O., Soisalon-Soininen, E., Wood, D.: Concurrency Control in Database Structures with Relaxed Balance. ACM PODS (1987) 170–176Google Scholar
- 18.Williams, J. W. J.: Algorithm 232: Heapsort. Comm. ACM 7 (1964) 347–348Google Scholar