Concurrent rebalancing of AVL trees: A fine-grained approach

Extended Abstract
  • Luc Bougés
  • Joaquim Gabarró
  • Xavier Messeguer
  • Nicolas Schabanel
Workshop 04+08+13: Parallel and Distributed Algorithms
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1300)


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. 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?


Concurrent algorithms Search trees AVL trees Concurrent insertions and deletions Concurrent generalized rotations Safety and liveness proofs 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AL62]
    G. M. Adel'son Vel'skî and E. M. Landis. An algorithm for the organization of the information. Soviet Mathematics Doklady, (3):1259–1263, 1962.Google Scholar
  2. [BGM95]
    L. Boug, J. Gabarró, and X. Messeguer. Concurrent AVL revisited: self-balancing distributed search. Research Report RR95-45, LIP, ENS Lyon, France, 1995. Available at URL Scholar
  3. [BGMS97]
    L. Boug, J. Gabarró, X. Messeguer, and N. Schabanel. Concurrent rebalancing of AVL trees: A fine-grained approach. Research Report RR97-13, LIP, ENS Lyon, France, 1997. Available at URL Scholar
  4. [BS77]
    R. Bayer and M. Schkolnicc. Concurrency of operations on B-trees. Acta Informatica, 9(1):1–21, 1977.Google Scholar
  5. [DLM+78]
    E. W. Dijkstra, L. Lamport, A. J. Martin, C. S. Scholten, and E. F. M. Steffens. On the fly garbage collection: an exercice in cooperation. Comm. ACM, 21(11):966–975, 1978.Google Scholar
  6. [Ell80]
    C. S. Ellis. Concurrent search and insertion in AVL trees. IEEE Trans. Comp., C-29(9):811–817, 1980.Google Scholar
  7. [Fra80]
    N. Francez. Distributed termination. ACM Trans. Progr. Languages and Systems, 2:42–55, 1980.Google Scholar
  8. [Kes83]
    J. L. S. Kessels. On the fly optimisation of data structures. Comm. ACM, 26(11):895–901, 1983.Google Scholar
  9. [KL80]
    H. T. Kung and P. L. Lehman. Concurrent manipulation of binary serch trees. ACM Trans. Database Systems, 5(3):354–382, 1980.Google Scholar
  10. [Knu73]
    D. E. Knuth. The art of computer programming, Fundamental algorithms. Addison Wesley, 1973.Google Scholar
  11. [Lar94]
    K. S. Larsen. AVL trees with relaxed balance. In Proc. Int. Parallel Processing Symp., pages 888–893. IEEE Comp. soc., 1994.Google Scholar
  12. [NSS96]
    O. Nurmi and E. Soisalon-Soininen. Chromatic binary serach trees. Acta Informatica, 33(6):547–557, 1996.Google Scholar
  13. [NSSW87]
    O. Nurmi, E. Soisalon-Soininen, and D. Wood. Concurrency control in database structures with relaxed balance. ACM Symp. Princ. Distributed Systems, pages 170–176, 1987.Google Scholar
  14. [NSSW92]
    O. Nurmi, E. Soisalon-Soininen, and D. Wood. Concurrent balancing and updationg of AVL trees. Technical Report 1992 ITKO-1376, Helsinki Univ. of Techn., Dept. Comp. Sciences, 1992. *** DIRECT SUPPORT *** A0008C42 00015Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Luc Bougés
    • 1
  • Joaquim Gabarró
    • 2
  • Xavier Messeguer
    • 2
  • Nicolas Schabanel
    • 1
  1. 1.LIP, ENS LyonLyon Cedex 07France
  2. 2.LSIUniversitat Politcnica de CatalunyaE-BarcelonaSpain

Personalised recommendations