Parallel Program Schemata and Maximal Parallelism I. Fundamental Results
Journal of the ACM (JACM)
Concurrency Control in Distributed Database Systems
ACM Computing Surveys (CSUR)
The notions of consistency and predicate locks in a database system
Communications of the ACM
On the Absence of Livelocks in Parallel Programs
Proceedings of the International Sympoisum on Semantics of Concurrent Computation
Monitoring Atomicity in Concurrent Programs
CAV '08 Proceedings of the 20th international conference on Computer Aided Verification
The Complexity of Predicting Atomicity Violations
TACAS '09 Proceedings of the 15th International Conference on Tools and Algorithms for the Construction and Analysis of Systems: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009,
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Marathon: detecting atomic-set serializability violations with conflict graphs
RV'11 Proceedings of the Second international conference on Runtime verification
Hi-index | 0.00 |
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.