Height-relaxed AVL rebalancing: A unified, fine-grained approach to concurrent dictionaries
Luc Bougé, Joaquim Gabarró, Xavier Messeguer, Nicolas Schabanel · RECERCAT (Consorci de Serveis Universitaris de Catalunya) · 1998
We address the concurrent rebalancing of almost balanced binary search trees (AVL trees). Such a rebalancing may for instance be necessary after successive insertions and deletions of keys. We show that this problem can be studied through the self-reorganization of distributed systems of nodes controlled by local evolution rules in the line of the approach of Dijkstra and Scholten. This yields a much simpler algorithm that the ones previously known. Based on the basic rebalancing framework, we describe algorithms to manage concurrent insertion and deletion of keys. Finally, this approach is used to emulate other well known concurrent AVL algorithms. As a by-product, this solves in a very general setting an old question raised by H.T. Kung and P.L. Lehman: where should rotations take place to rebalance arbitrary search trees? This paper is the extended version of the previous research report RR1997-13