A Rigorous Analysis of Concurrent Operations on B-Trees

An account is given of a rigorous study of concurrent operations on a variant of the B-tree in the framework of a general theory of concurrent systems, an extension of the π-calculus. The assertion of correctness of the algorithms is that the agent representing the system is behaviourally equivalent to an agent whose observable behaviour describes simply the expected interactions of the system with its environment. An outline of the proofs of correctness of algorithms for insertion and search is given. Algorithms for deletion and compression are considered briefly. The main theoretical contribution is an extension of the theory of partial confluence of agents.

[1]  Rob J. van Glabbeek,et al.  Branching time and abstraction in bisimulation semantics , 1996, JACM.

[2]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

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

[4]  Ed Brinksma,et al.  Cache consistency by design , 1999, Distributed Computing.

[5]  Anna Philippou Reasoning about systems with evolving structure , 1996 .

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

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

[8]  David Walker,et al.  On Transformations of Concurrent-Object Programs , 1996, Theor. Comput. Sci..

[9]  Mannes Poel,et al.  The compositional approach to sequential consistency and lazy caching , 1999, Distributed Computing.

[10]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[11]  Yehuda Afek,et al.  Lazy caching , 1993, TOPL.

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

[13]  Frits W. Vaandrager,et al.  On the relationship between process algebra and input/output automata , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[14]  Butler W. Lampson,et al.  Atomic Transactions , 1980, Advanced Course: Distributed Systems.

[15]  Chris M. N. Tofts,et al.  Proof methods and pragmatics for parallel programming , 1990 .

[16]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[17]  Carla Schlatter Ellis,et al.  Concurrency in linear hashing , 1987, TODS.

[18]  David Walker,et al.  Confluence of Processes and Systems of Objects , 1995, TAPSOFT.

[19]  David Walker Algebraic Proofs of Properties of Objects , 1994, ESOP.

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