From serializable to causal transactions (abstract)

In a shared object model, a consistency criterion defines which is the value that must be returned to a process when it reads an object, and a protocol implementing a consistency criterion describes how processes have to be synchronized in order to ensure that they read correct values (Le., satisfy the consistency criterion). Serializability and the two phase locking protocol, mainly studied and used in the database field, are the best known examples of a consistency criterion and its associated implementation protocol. Traditional consistency criteria (namely, atomici~, seridizability and linearizability) require that all processes have the same sequential view of the computation. This view is formally defined as a total order on operations issued by processes and an execution is correct if any read of an object gets the last value previously written into this object (the words ‘last’ and ‘previously’ refer to the total order of operations defined by the common view). These criteria have largely been studied. But, if they are natural and easy to use, their implementations are based on strong synchronization constraints that severely limit efficiency of distributed applications as soon as these applications are composed of many processes or cover a large geographic area. In [1], we explore weaker consistency criteria in which the causality relation between read and write operations on shared objects plays a central role. These criteria reveal to be sufficient to match data consistency requirements of a class of applications and their implementations result in greater availability of data and better performance. A novel aspect of our work is that we consider an abstraction level at which read and write operations are encapsulated inside transactions. Thus, rather than a single operation on a single object, the consistency criteria must address transactions that may manipulate many objects. TWO new consistency criteria, causal consistency and causal serializability, are introduced in the context of systems composed of sequential processes that execute transactions. Causal consistency is the weaker criterion considered: in addition to the sequentiality on transactions issued by each process, it considers only dependency on transactions due to a read-from relation. This relation is defined in the following way: a transaction that reads a value written by another transaction is dependent on it.

[1]  Michel Raynal,et al.  From serializable to causal transactions for collaborative applications , 1997, EUROMICRO 97. Proceedings of the 23rd EUROMICRO Conference: New Frontiers of Information Technology (Cat. No.97TB100167).