Concurrency Control Performance Modeling: Alternatives and Implications (1987)

Overview

There are three types of concurrency control algorithms: locking algorithms, timestamp based algorithms, optimistic algorithms. There have been a large number of performance analyses aimed at deciding which type of concurrency algorithm is best, however despite the abundance of analyses, there is no definitive winner. Different analyses have contradictory results, largely because there is no standard performance model or set of assumptions. This paper presents a complete database model for evaluating the performance of concurrency control algorithms and discusses how varying assumptions affect the performance of various algorithms.

Performance Model

This paper analyzes three specific concurrency control mechanisms,

using a closed queueing model of a single-site database. Essentially, transactions come in, sit in some queues, and are controlled by a concurrency control algorithm. The model has a number of parameters, some of which are held constant for all the experiments and some of which are varied from experiment to experiment. Some of the parameters had to be tuned to get interesting result. For example, it was found that with a large database and few conflicts, all concurrency control algorithms performed roughly the same and scaled with the degree of parallelism.

Some analyses assume infinite resources. How do these assumptions affect concurrency control performance?

Transaction Behavior Assumptions