On serializability of iterated transactions

  • Authors:
  • M. P. Fle;G. Roucairol

  • Affiliations:
  • -;-

  • Venue:
  • PODC '82 Proceedings of the first ACM SIGACT-SIGOPS symposium on Principles of distributed computing
  • Year:
  • 1982

Quantified Score

Hi-index 0.00

Visualization

Abstract

In the literature on serializability (see [1]), a transaction is considered to be a finite sequence of operations. As a step towards the handling of more complex evolutions of processes, we assume in this paper that the sequence of operations performed by a transaction may be infinitely often repeated as for instance, might behave a pre-existing service process in an operating system. (Remark that the classical “critical section” problem can be viewed as a particular case of the serializability problem). Therefore, a behaviour of a system of transactions will be understood herein as an infinite behaviour. The equivalence which is generally used is such that two behaviours are said equivalent if the relative ordering of so-called conflicting operations is the same in both behaviours ; this notion of conflict being deduced from the way operations of different transactions access to shared data. If we call correct a behaviour which is equivalent in that sense to a sequential behaviour, we shall say (section 3) that a system of transactions is maximally concurrent if its set of possible behaviours is the set of correct ones. In section 4, we characterize a maximally concurrent system by a property of the prefixes of its behaviours. This property extends a result from Papadimitriou [6] and allows us to point out that the classical “two phases locking” synchronization algorithm [2] does not guaranty maximal concurrency. This property will also be used in section 5 in order to show that the language of the prefixes of behaviours of a maximally concurrent system is a regular language (main result). It means that the serializability of iterated transactions can be finitely controlled. In section 6, we consider the problem of fair serializability. We describe a synchronization algorithm allowing only those behaviours which are correct and fair (every transaction is performed infinitely often). In that case, this algorithm needs an unbounded amount of memory. The use of this algorithm is illustrated in order to provide a starvation-free synchronization to the well-known five philosophers problem.