On the Performance of Concurrent Tree Algorithms

Abstract Various algorithms have been proposed to allow independent concurrent processes to access shared tree-structured objects, while guaranteeing that the object remains in a consistent state. Although algorithms can be classified as either “optimistic” or “conservative,” on the basis of their approach to concurrency control, it is very difficult to compare the expected performance of two concurrent algorithms that use different approaches. We demonstrate an approach to performance comparison that combines both analytical evaluation and detailed simulation. Our analysis predicts the frequency of highly time dependent activities, such as interference and recovery, that dominate performance of optimistic algorithms. Our simulation measures the performance of concurrent algorithms in a particular application, that of a central file server. The simulation results show that in general analytical techniques tend to overestimate the performance of conservative algorithms because inherent system bottlenecks are ignored, whereas they underestimate the performance of optimistic algorithms due to the difficulty of obtaining tight analytical bounds on time-dependent interactions. However, the results also show that our form of analysis gives predictions that much more closely match simulation results.

[1]  John T. Robinson,et al.  Limitations of concurrency in transaction processing , 1985, TODS.

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

[3]  J. T. Robinson,et al.  On optimistic methods for concurrency control , 1979, TODS.

[4]  Walter H. Kohler,et al.  Performance Evaluation of Integrated Concurrency Control and Recovery Algorithms Using a Distributed Transaction Processing Testbed , 1985, ICDCS.

[5]  Udi Manber,et al.  Concurrent Maintenance of Binary Search Trees , 1984, IEEE Transactions on Software Engineering.

[6]  Carla Schlatter Ellis,et al.  Concurrent Search and Insertion in AVL Trees , 1980, IEEE Transactions on Computers.

[7]  Alexander Thomasian,et al.  Performance Evaluation of Centralized Databases with Static Locking , 1985, IEEE Transactions on Software Engineering.

[8]  John A. Stankovic,et al.  An experimental comparison of locking policies in a testbed database system , 1983, SIGMOD '83.

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

[10]  Andreas Reuter,et al.  Empirical Comparison of Database Concurrency Schemes , 1983, Very Large Data Bases Conference.

[11]  Richard E. Ladner,et al.  Concurrency control in a dynamic search structure , 1984 .

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

[13]  H. T. Kung,et al.  Concurrent manipulation of binary search trees , 1980, TODS.

[14]  Michael J. Carey,et al.  An abstract model of database concurrency control algorithms , 1983, SIGMOD '83.