Performance Evaluation of an Adaptive and Robust Load Control Method for the Avoidance of Data-Contention Thrashing

Load control is necessary to prevent a database system from data-contention or memory-contention thrashing, caused by excessive lock conflicts or excessive buffer replacements that may occur due to temporary load peaks. The load control method that is adopted by virtually all commercial database systems is to limit the degree of multiprogramming (DMP), that is, the maximum number of transactions that are allowed to execute concurrently. Severe shortcomings of this DMP method are that it requires manual tuning by the human system administrator, and that it cannot react to dynamic changes of the transaction mix in the workload. In this paper we present a performance evaluation of an adaptive, that is, self-tuning load control method for the avoidance of data-contention thrashing. The basic principle of this method is to monitor a data-contention performance metric called the conflict ratio, and to react to critical changes of the conflict ratio by temporarilysuspending the admission of newly arriving transactions or by cancelling blocked transactions that block other transactions. In order to show the practical viability of our method, we have performed a performance evaluation based on page reference traces from the on-line transaction processing system of a large Swiss bank. The adaptive load control method copes well with the dynamic load fluctuations of this workload. It clearly outperforms the DMP method, since it adapts the system to the dynamic changes of the transaction mix whereas the DMP method uses a fixed DMP as a (bad) compromise for the entire duration of the experiment.

[1]  Henry F. Korth,et al.  A Straw Man Analysis of the Probability of Waiting and Deadlock in a Database System , 1981, Berkeley Workshop.

[2]  Peter J. Denning,et al.  Thrashing: its causes and prevention , 1968, AFIPS Fall Joint Computing Conference.

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

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

[5]  Miron Livny,et al.  Load control for locking: the “half-and-half” approach , 1990, PODS '90.

[6]  Wilbur H. Highleyman Performance Analysis of Transaction Processing Systems , 1989, SIGMETRICS Perform. Evaluation Rev..

[7]  Andreas Reuter Load control and load balancing in a shared database management system , 1986, 1986 IEEE Second International Conference on Data Engineering.

[8]  Alexander Thomasian,et al.  Performance Analysis of Dynamic Locking with the No-Waiting Policy , 1990, IEEE Trans. Software Eng..

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

[10]  Ashvini Nangia Book Review: Performance Analysis of Transaction Processing Systems by Wilbur H. Highleyman (Prentice Hall, 1989) , 1992, PERV.

[11]  Hamid Pirahesh,et al.  ARIES: a transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging , 1998 .

[12]  Tom W. Keller,et al.  Locking Performance in a Shared-Nothing Parallel Database Machine , 1989, IEEE Trans. Knowl. Data Eng..

[13]  Gerhard Weikum,et al.  Conflict-driven load control for the avoidance of data-contention thrashing , 1990, [1991] Proceedings. Seventh International Conference on Data Engineering.

[14]  Y. C. Tay,et al.  Locking performance in centralized databases , 1985, TODS.

[15]  Gerhard Weikum The COMFORT project: a comfortable way to better performance , 1990 .

[16]  Alexander Thomasian,et al.  Thrashing in two-phase locking revisited , 1992, [1992] Eighth International Conference on Data Engineering.

[17]  Alexander Thomasian Performance limits of two-phase locking , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[18]  Alexander Thomasian,et al.  Wait depth limited concurrency control , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[19]  Umeshwar Dayal,et al.  Time-critical database scheduling: a framework for integrating real-time scheduling and concurrency control , 1989, [1989] Proceedings. Fifth International Conference on Data Engineering.

[20]  Hans-Ulrich Heiß,et al.  Overload Effects and Their Prevention , 1991, Perform. Evaluation.

[21]  Philip S. Yu,et al.  Optimal buffer allocation in a multi-query environment , 1991, [1991] Proceedings. Seventh International Conference on Data Engineering.

[22]  Erhard Rahm,et al.  A Framework for workload allocation in distributed transaction processing systems , 1992, J. Syst. Softw..

[23]  Christos Faloutsos,et al.  Predictive Load Control for Flexible Buffer Allocation , 1991, VLDB.

[24]  Dennis Shasha Database Tuning - A Principled Approach , 1992 .

[25]  Philip A. Bernstein,et al.  Concurrency control in a system for distributed databases (SDD-1) , 1980, TODS.

[26]  Alexander Thomasian,et al.  Performance Analysis of Two-Phase Locking , 1991, IEEE Trans. Software Eng..

[27]  Michael J. Carey,et al.  The Performance of Alternative Strategies for Dealing with Deadlocks in Database Management Systems , 1987, IEEE Transactions on Software Engineering.

[28]  Philip S. Yu,et al.  Dynamic Transaction Routing in Distributed Database Systems , 1988, IEEE Trans. Software Eng..

[29]  Hans-Ulrich Heiß,et al.  Adaptive Load Control in Transaction Processing Systems , 1991, VLDB.