skip to main content
article
Free Access

Concurrent manipulation of binary search trees

Published:01 September 1980Publication History
Skip Abstract Section

Abstract

The concurrent manipulation of a binary search tree is considered in this paper. The systems presented can support any number of concurrent processes which perform searching, insertion, deletion, and rotation (reorganization) on the tree, but allow any process to lock only a constant number of nodes at any time. Also, in the systems, searches are essentially never blocked. The concurrency control techniques introduced in the paper include the use of special nodes and pointers to redirect searches, and the use of copies of sections of the tree to introduce many changes simultaneously and therefore avoid unpredictable interleaving. Methods developed in this paper may provide new insights into other problems in the area of concurrent database manipulation.

References

  1. 1 ASTRAHAN, M.M., ET AL. System R: Relational approach to database management.ACM Trans. Database Syst. 1, 2 (June 1976), 97-137. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 2 BAYER, R., AND MCCREIGHT, E. Organization and maintenance of large ordered indexes. Acta Inf. I, 3 (1972), 173-189.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. 3 BAYER, R., AND SCHKOLNICK, M. Concurrency of operations on B-trees. Acta Inf. 9, 1 (1977), 1- 21.Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. 4 DIJKSTRA, E.W. A Discipline of Programming. Prentice-Hall, Englewood Cliffs, N.J., 1976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. 5 DIJKSTRA, E.W., LAMPORT, L., MARTIN, A.J. SCHOLTEN, C.S., AND STEFFENS, E.F.M. On-thefly garbage collection: An exercise in cooperation. Commun. ACM 21, 11 (Nov. 1978), 966-976. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. 6 ELLIS, C.S. Concurrent search and insertion in 2-3 trees. Tech. Rep. 78-05-01, Dep. Computer Science, Univ. Washington, Seattle, 1978.Google ScholarGoogle Scholar
  7. 7 ESWARAN, K.P., GRAY, J.N., LORIE, R.A., AND TRAIGER, I.L. The notions of consistency and predicate locks in a database system. Commun. ACM 19, 11 (Nov. 1976), 624-633. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. 8 GRAY, J. Notes on database operating systems. Lecture Notes in Computer Science60: Operating Systems, Berlin, Germany, Feb. 1978, pp. 393-481. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. 9 GU{BAS, L.J., AND SEDGEWICK, R. A dichromatic framework for balanced trees. Proc. 19th Ann. Syrup. Foundations of Computer Science, IEEE, 1978.Google ScholarGoogle Scholar
  10. 10 KNUTH, D.E. The Art of Computer Programming, vol. 3, Sorting and Searching. Addison- Wesley, Reading, Mass., 1973. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. 11 KUNG, H.T. The Structure of Parallel Algorithms, vol. 19, Advances in Computers. Academic Press, New York, 1980. (Also available as a CMU Computer Science Dep. Tech. Rep., Aug. 1979.)Google ScholarGoogle Scholar
  12. 12 Kusc, H.T., AND PAPADIMITRIOU, C.H. An optimality theory of concurrency control for databases. Proc. ACM SIGMOD 1979 Int. Conf. Management of Data, 1979, pp. 116-126. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. 13 KUNC, H.T., AND SONG, S.W. A parallel garbage collection algorithm and its correctness proof. Proc. 18th Ann. Syrup. Foundations of Computer Science, 1977, pp. 120-131.Google ScholarGoogle Scholar
  14. 14 LAMPORT, L. Proving the correctness of multiprocess programs. IEEE Trans. Softw. Eng. SE- 3, 2 (March I977), 125-143. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. 15 LAMPORT, L. Concurrent reading and writing. Comrnun. ACM 20, 11 (Nov. 1977), 806-811. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. 16 LEHMAN, P.L., AND YAO, S.B. Efficient locking for concurrent operations on B-trees. To appear in A CM Trans. Database Syst. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. 17 MANNA, Z., AND WALDINGER, R. The logic of computer programming. IEEE Trans. Softw. Eng. SE-4, 3 (May 1978), 199-229.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 18 MILLER, R.E., AND SNYDER, L. Multiple access to B-trees. Proc. Conf. Information and Systems, Johns Hopkins Univ., Baltimore, Md., March 1978, preliminary version.Google ScholarGoogle Scholar
  19. 19 OWICKI, S. Axiomatic proof techniques for parallel program. Ph.D. Dissertation, Dep. Computer Science, Cornell Univ., Ithaca, N.Y., 1975. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. 20 RIES, D.R., AND STONEBREAKER, M. Effects of locking granularity in a database management system. ACM Trans. Database Syst. 2, 3 (Sept. 1977), 233-246. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. 21 SAMAra, B. B-trees in a system with multiple users. Inf. Process. Lett. 5, 4 (Oct. 1976), 107-112.Google ScholarGoogle Scholar
  22. 22 SWAN, R.J., FULL~R, S.H., ANY SIEWIORE~, D.P. CM*--A modular multi-microprocessor. Proc. AFIPS 1977 NCC, vol. 46, AFtPS Press, Arlington, Va., pp. 637-644.Google ScholarGoogle Scholar
  23. 23 WEDEKIND, S. On the selection of access paths in a data base system. In Data Base Management, J. W. Kimbie and K. L. Koffeman, Eds. North-Holland, New York, 1974, pp. 385-397.Google ScholarGoogle Scholar
  24. 24 WULF, W.A., AND BELL, C.G. C.mmp--A multi-mini-processor. Proc. AFIPS 1972 FJCC, vol. 41, AFIPS Press, Arlington, Va., pp. 765-777.Google ScholarGoogle Scholar

Index Terms

  1. Concurrent manipulation of binary search trees

            Recommendations

            Comments

            Login options

            Check if you have access through your login credentials or your institution to get full access on this article.

            Sign in

            Full Access

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader