This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Speculative Locking Protocols to Improve Performance for Distributed Database Systems
February 2004 (vol. 16 no. 2)
pp. 154-169
P. Krishna Reddy, IEEE Computer Society

Abstract—In this paper, we have proposed speculative locking (SL) protocols to improve the performance of distributed database systems (DDBSs) by trading extra processing resources. In SL, a transaction releases the lock on the data object whenever it produces corresponding after-image during its execution. By accessing both before and after-images, the waiting transaction carries out speculative executions and retains one execution based on the termination (commit or abort) mode of the preceding transactions. By carrying out multiple executions for a transaction, SL increases parallelism without violating serializability criteria. Under the naive version of SL, the number of speculative executions of the transaction explodes with data contention. By exploiting the fact that a submitted transaction is more likely to commit than abort, we propose the SL variants that process transactions efficiently by significantly reducing the number of speculative executions. The simulation results indicate that even with manageable extra resources, these variants significantly improve the performance over two-phase locking in the DDBS environments where transactions spend longer time for processing and transaction-aborts occur frequently.

[1] K.R. Eswaran, J.N. Gray, R.A. Lorie, and I.L. Traiger, The Notions of Consistency and Predicate Locks in a Database System Comm. ACM, vol. 19, no. 11, pp. 624-633, 1976.
[2] J.N. Gray, Notes on Database Operating Systems: In Operating Systems an Advanced Course Lecture Notes in Computer Science, vol. 60, pp. 393-481, 1978.
[3] C. Mohan, B. Lindsay, and R. Obermark, Transaction Management in the$R^{*}$Distributed Database Management System ACM Trans. Database Systems, vol. 11, no. 4, pp. 378-396, 1986.
[4] A. Bestavros, Speculative Algorithms for Concurrency Control in Responsive Databases Responsive Computer Systems: Steps Toward Fault-Tolerant Real-Time Systems, pp. 143-165, Kluwer Academic, 1994.
[5] A. Bestavros and S. Braoudakis, Value-Cognizant Speculative Concurrency Control Proc. 21th Very Large Databases Conf., pp. 122-133, 1995.
[6] B.W. Abeysundara and A.E. Kamal, High-Speed Local Area Networks and their Performance ACM Computing Surveys, vol. 23, no. 2, pp. 221-264, June 1991.
[7] R. Golding and D.E. Long, Accessing Replicated Data in an Internetwork Int'l J. Computer Simulation, vol. 1, no. 4, pp. 347-372, Dec. 1991.
[8] P. Spiro, A. Joshi, and T.K. Rangarajan, Designing an Optimized Transaction Commit Protocol Digital Technical J., vol. 3, no. 1, pp. 23-35, 1991.
[9] B. Bhargava, Y. Zhang, and S. Goel, A Study of Distributed Transaction Processing in an Internetwork Lecture Notes in Computer Science, vol. 1006, pp. 135-152, 1995.
[10] P.A. Bernstein, V. Hadzilacos, and N. Goodman, Concurrency Control and Recovery in Database Systems. Addison-Wesley, 1987.
[11] V. Kumar, Concurrency Control Mechanisms in Centralized Database Systems. Prentice-Hall, 1996.
[12] K.-L. Wu, P.S. Yu, and C. Pu, Divergence Control for Epsilon-Serializability Proc. Eighth Int'l Conf. Data Eng., pp. 506-515, 1992.
[13] P.A. Bernstein and N. Goodman, Multi-Version Concurrency Control, Theory and Algorithms ACM Trans. Database Systems, vol. 8, no. 4, pp. 465-483, Dec. 1983.
[14] B.R. Badrinath and K. Ramamritam, Semantics Based Concurrency Control: Beyond Commutativity ACM Trans. Database Systems, vol. 17, no. 1, pp. 163-199, Mar. 1992.
[15] D. Agrawal, A. El Abbadi, and A.E. Lang, The Performance of Protocols Based on Locks with Ordered Sharing IEEE Trans. Knowledge and Data Eng., vol. 6, no. 5, pp. 805-818, Oct. 1994.
[16] K. Salem, H. Garciamolina, and J. Shands, Altruistic Locking ACM Trans. Database Systems, vol. 19, no. 1, pp. 117-165, Mar. 1994.
[17] R. Gupta, J. Haritsa, and K. Ramamritam, Revisiting Commit Processing in Distributed Database Systems Proc. ACM SIGMOD, pp. 486-497, 1997.
[18] H.V. Jagadish and O. Shmueli, A Proclamation-Based Model for Cooperation Transactions Proc. 18th Very Large Databases Conf., pp. 265-276, 1992.
[19] A. Burger and P. Thanisch, Branching Transactions: A Transaction Model for Parallel Database Systems Lecture Notes in Computer Science, vol. 826, pp. 121-136, 1994.
[20] H.T. Kung and J.T. Robinson, On Optimistic Methods for Concurrency Control ACM Trans. Database Systems, vol. 6, no. 2, pp. 213-226, June 1981.
[21] P. Krishna Reddy and M. Kitsuregawa, Improving Performance in Distributed Database Systems using Speculative Transaction Processing Proc. Second European Parallel and Distributed Systems Conf., pp. 275-285, 1998.
[22] P. Krishna Reddy and M. Kitsuregawa, Speculative Lock Management to Increase Concurrency in Mobile Environments Proc. First Int'l Conf. Mobile Data Access, vol. 1748, pp. 81-95, Dec. 1999.
[23] P. Krishna Reddy and M. Kitsuregawa, Speculation Based nested Locking Protocol to Increase the Concurrency of Nested Transactions Proc. Int'l Database Applications and Eng. Symp., pp. 296-305, Sept. 2000.
[24] D. Skeen, Nonblocking Commit Protocols Proc. ACM SIGMOD, pp. 133-142, June 1981.
[25] A.K. Elmagarmid, A Survey of Distributed Deadlock Detection Algorithms ACM SIGMOD RECORDS, vol. 15, no. 3, pp. 37-45, Sept. 1986.
[26] E. Knapp, Deadlock Detection in Distributed Databases ACM Computing Surveys, vol. 19, no. 4, pp. 303-328, Dec. 1987.
[27] The Benchmark Handbook for Database and Transaction Processing Systems. J. Gray, ed. Morgan Kaufmann, 1991.
[28] TPC: Transaction Processing Performance Council, http:/www.tpc.org/, June 2001.
[29] D. Shasha, F. Llirbat, E. Simon, and P. Valduriez, Transaction Chopping: Algorithms and Performance Studies ACM Trans. Database Systems, vol. 20, no. 3, pp. 325-363, Sept. 1995.
[30] R. Agrawal, M.J. Carey, and M. Livny, Concurrency Control Performance Modeling: Alternatives and Implications ACM Trans. Database Systems, vol. 12, no. 4, pp. 609-654, Dec. 1987.
[31] A.N. Choudhary, “Cost of Distributed Deadlock Detection: A Performance Study,” Proc. Sixth Int'l Conf. Data Eng., pp.174-181, Feb. 1990.
[32] Y.C. Tay, Locking Performance in Centralized Databases. Academic Press, 1987.
[33] M. Carey and M. Linvy, Parallelism and Concurrency Control Performance in Distributed Database Machines Proc. ACM SIGMOD, pp. 122-133, June 1989.
[34] P.A. Franaszek, J.T. Robinson, and A. Thomasian, Concurrency Control for High Contention Environments ACM Trans. Database Systems, vol. 17, no. 2, pp. 304-345, June 1992.
[35] V. Singhal and A.J. Smith, Analysis of Locking Behavior in Three Real Database Systems The Very Large Databases J. vol. 6, pp. 40-52, 1997.
[36] A. Dan, D. Dias, and P. Yu, "Buffer Analysis for a Data Sharing Environment with Skewed Data Access," IEEE Trans. Knowledge and Data Eng., vol. 6, no. 2, pp. 331-337, 1994.
[37] J. Gray and A. Reuter, Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.
[38] C. Mohan and F. Levine, ARIES/IM: An Efficient and High Concurrency Index Management using Write-Ahead Logging Proc. ACM SIGMOD, pp. 371-381, 1992.

Index Terms:
Distributed database, transaction processing, concurrency control, locking, performance evaluation, speculation.
Citation:
P. Krishna Reddy, Masaru Kitsuregawa, "Speculative Locking Protocols to Improve Performance for Distributed Database Systems," IEEE Transactions on Knowledge and Data Engineering, vol. 16, no. 2, pp. 154-169, Feb. 2004, doi:10.1109/TKDE.2004.1269595
Usage of this product signifies your acceptance of the Terms of Use.