Abstract

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 multi- programming (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 temporarily suspending 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 transactionprocessing 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.