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 toward 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 previous proposals can be implemented.

[1]  Kim S. Larsen AVL trees with relaxed balance , 1994, Proceedings of 8th International Parallel Processing Symposium.

[2]  Douglas W. Jones,et al.  An empirical comparison of priority-queue and event-set implementations , 1986, CACM.

[3]  Joep L. W. Kessels On-the-fly optimization of data structures , 1983, CACM.

[4]  Derick Wood,et al.  A New Method for Concurrency in B-Trees , 1982, IEEE Transactions on Software Engineering.

[5]  Joan Boyar,et al.  Chromatic Priority Queues , 1994 .

[6]  Kim S. Larsen,et al.  Efficient Rebalancing of B-Trees with Relaxed Balance , 1996, Int. J. Found. Comput. Sci..

[7]  Eljas Soisalon-Soininen,et al.  Uncoupling updating and rebalancing in chromatic binary search trees , 1991, PODS '91.

[8]  H. T. Kung,et al.  Concurrent manipulation of binary search trees , 1980, TODS.

[9]  Behrokh Samadi,et al.  B-Trees in a System with Multiple Users , 1976, Inf. Process. Lett..

[10]  John Beidler,et al.  Data Structures and Algorithms , 1996, Wiley Encyclopedia of Computer Science and Engineering.

[11]  S. B. Yao,et al.  Efficient locking for concurrent operations on B-trees , 1981, TODS.

[12]  Kurt Mehlhorn,et al.  A new data structure for representing sorted lists , 1980, Acta Informatica.

[13]  Hartmut Wedekind On the Selection of Access Paths in a Data Base System , 1974, IFIP Working Conference Data Base Management.

[14]  Joan Boyar,et al.  Efficient Rebalancing of Chromatic Search Trees , 1992, J. Comput. Syst. Sci..

[15]  Douglas W. Jones,et al.  Concurrent operations on priority queues , 1989, CACM.

[16]  Joan Boyar,et al.  Amortization Results for Chromatic Search Trees, with an Application to Priority Queues , 1995, WADS.

[17]  Derick Wood,et al.  Concurrency control in database structures with relaxed balance , 1987, PODS '87.

[18]  James C. Browne,et al.  Simultaneous Update of Priority Structures , 1987, ICPP.

[19]  Kim S. Larsen,et al.  B-trees with relaxed balance , 1995, Proceedings of 9th International Parallel Processing Symposium.

[20]  Vipin Kumar,et al.  Concurrent Access of Priority Queues , 1988, IEEE Trans. Computers.

[21]  Leonidas J. Guibas,et al.  A dichromatic framework for balanced trees , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[22]  Yehoshua Sagiv Concurrent Operations on B*-Trees with Overtaking , 1986, J. Comput. Syst. Sci..