Improving Performance in Distributed Database Systems Using Speculative Transaction Processing

In distributed database systems (DDBSs), a transaction acquires the locks on the data objects during the execution and releases them only after the completion of commit processing. In DDBSs, it can be observed that, even though a transaction produces new data object values on completion of execution and these new data object values are not a ected during commit processing, the locks are released only after completion of commit processing. In this paper, we propose speculative distributed transaction processing (SDTP) approach, which allows the transaction to release locks on the data objects on completion of its execution. On completion of transaction's execution, by accessing both original and updated values, the waiting transaction carries out speculative executions and then starts commit processing. Before the end of commit processing, the transaction that has carried out speculative executions retains appropriate execution based on the termination decisions of preceding transactions. Thus, con icting transactions can be processed in parallel without violating the serializability criteria. In this paper, we have explained the transaction processing strategy employing speculation and then presented SDTP algorithm. This approach is free from cascading aborts. Also, SDTP approach does not require extra number of messages since every message is piggy backed with the messages of commit processing. However, it needs both extra processing power and main memory to support speculative executions. This approach can be tuned according to the resources available in the system. Through simulation experiments, it has been shown that SDTP approach considerably reduces the response time in the case of higher resource con icts and longer transmission times. This approach suits best for the wide area network environments where the message transmission time dominates the processing time.

[1]  Miron Livny,et al.  Concurrency control performance modeling: alternatives and implications , 1987, TODS.

[2]  Guy M. Lohman,et al.  Differential files: their application to the maintenance of large databases , 1976, TODS.

[3]  Alok N. Choudhary Cost of distributed deadlock detection: a performance study , 1990, [1990] Proceedings. Sixth International Conference on Data Engineering.

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

[5]  Bharat K. Bhargava,et al.  A Study of Distributed Transaction Processing in an Internetwork , 1995, CISMOD.

[6]  Ahmed K. Elmagarmid,et al.  A survey of distributed deadlock detection algorithms , 1986, SGMD.

[7]  Irving L. Traiger,et al.  The notions of consistency and predicate locks in a database system , 1976, CACM.

[8]  Dale Skeen,et al.  Nonblocking commit protocols , 1981, SIGMOD '81.

[9]  Walter H. Kohler,et al.  A Survey of Techniques for Synchronization and Recovery in Decentralized Computer Systems , 1981, CSUR.

[10]  Jayant R. Haritsa,et al.  Revisiting commit processing in distributed database systems , 1997, SIGMOD '97.

[11]  Stefano Ceri,et al.  Distributed Databases: Principles and Systems , 1984 .

[12]  Patrick Valduriez,et al.  Principles of Distributed Database Systems , 1990 .

[13]  David J. DeWitt,et al.  Integrated concurrency control and recovery mechanisms: design and performance evaluation , 1985, TODS.

[14]  Michael Stonebraker,et al.  A Formal Model of Crash Recovery in a Distributed System , 1983, IEEE Transactions on Software Engineering.

[15]  Azer Bestavros,et al.  Using speculation to reduce server load and service time on the WWW , 1995, CIKM '95.

[16]  Peter M. Spiro,et al.  Designing an Optimized Transaction Committ Protocol , 1991, Digit. Tech. J..

[17]  Raymond A. Lorie,et al.  Physical integrity in a large segmented database , 1977, TODS.

[18]  Edgar Knapp,et al.  Deadlock detection in distributed databases , 1987, CSUR.