Abstract
The B-tree and its variants have been found to be highly useful (both theoretically and in practice) for storing large amounts of information, especially on secondary storage devices. We examine the problem of overcoming the inherent difficulty of concurrent operations on such structures, using a practical storage model. A single additional “link” pointer in each node allows a process to easily recover from tree modifications performed by other concurrent processes. Our solution compares favorably with earlier solutions in that the locking scheme is simpler (no read-locks are used) and only a (small) constant number of nodes are locked by any update process at any given time. An informal correctness proof for our system is given.
- 1 ASTRAHAN, M.M., ET AL. System R: Relational approach to database management. ACM Trans. Database Syst. 1, 2 (June 1976), 97-137. Google ScholarDigital Library
- 2 BAYER, R., AND MCCREIGHT, E. Organization and maintenance of large ordered indexes. Acta Inf. I (1972), 173-189.Google ScholarDigital Library
- 3 BAYER, R., AND SCHKOLNICK, M. Concurrency of operations on B-trees. Acta Inf. 9 (1977), 1- 21.Google ScholarDigital Library
- 4 DIJKSTRA, E.W., ET AL. On-the-fly garbage collection: An exercise in cooperation. Commun. ACM 21, 11 (Nov. 1978), 966-976. Google ScholarDigital Library
- 5 DIJKSTRA, E.W. Cooperating sequential processes. In Programming Languages, F. Genuys, Ed. Academic Press, New York, 1968, pp. 43-112.Google Scholar
- 6 ELLm, C.S. Concurrent search and insertion in 2-3 trees. Tech. Rep. 78-05-01, Dep. Computer Science, Univ. Washington, Seattle, May 1978.Google Scholar
- 6a GUIBAB, L.J., AND SEDGEWICK, R. A dichromatic framework for balanced trees. In Proc. 19th Ann. Syrup. Foundation of Computer Science, IEEE, 1978.Google Scholar
- 7 KNUTH, D.E. The Art of Computer Programming, vol. 3, Sorting and Searching. Addison- Wesley, Reading, Mass., 1973. Google ScholarDigital Library
- 8 KUNG, H.T., AND LEHMAN, P.L. Concurrent manipulation of binary search trees. ACM Trans. Database Syst. 5, 3 (Sept. 1980), 354-382. Google ScholarDigital Library
- 9 KUNG, H.T., AND SONG, S.W. A parallel garbage collection algorithm and its correctness proof. In Proc. 18th Ann. Symp. Foundations of Computer Science, IEEE, Oct. 1977, pp. 120-131.Google ScholarDigital Library
- 10 KwoNa, Y.S., AND WOOD, D. Concurrency in B- and T-trees. In preparation.Google Scholar
- 11 LAMPORT, L. Concurrent reading and writing. Commun. ACM 20, 11 (Nov. 1977), 806-811. Google ScholarDigital Library
- 12 MILLER, R., AND SNYDER, L. Multiple access to B-trees. In Proc. Conf. Information Sciences and Systems (preliminary version), Johns Hopkins Univ., Baltimore, March 1978.Google Scholar
- 13 SAMADI, B. B-trees in a system with multiple users. Inf. Process. Lett. 5, 4 (Oct. 1976), 107-112.Google ScholarCross Ref
- 14 STEELE, G.L., JR. Multiprocessing compactifying garbage collection. Commun. ACM 18, 9 (Sept. 1975), 125-143. Google ScholarDigital Library
- 15 WEDEKIND, H. On the selection of access paths in a data base system. In Data Base Management, J.W. Klimbie and K.L. Koffeman, Eds. North-Holland, Amsterdam, 1974, pp. 385-397.Google Scholar
Index Terms
- Efficient locking for concurrent operations on B-trees
Recommendations
Efficient locking for concurrent operations on B-trees
Readings in database systems (3rd ed.)Concurrent manipulation of binary search trees
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 ...
Lock Conversion in Non-Two-Phase Locking Protocols
A locking protocol is a set of rules governing the manner in which the database entities may be accessed. Such a protocol usually employs several kinds of locks. Most of the previous work in this area has assumed that once a transaction acquires a ...
Comments