Normality: A Consistency Condition for Concurrent Objects
暂无分享,去创建一个
This paper is focused on concurrent objects (objects shared by concurrent processes). It introduces a consistency condition called Normality whose definition is based only on local orders of operations as perceived by processes and by objects. First we consider the model in which each operation is on exactly one object. In this model we show that a history is linearizable iff it is normal. However, the definition of Normality is less constraining in the sense that there are strictly more legal sequential histories which are considered equivalent to the given history when Normality is used. We next consider a more general model where operations can span multiple objects. In this model we show that Normality is strictly weaker than Linearizability, i.e., history may be normal but not linearizable. As Normality refers only to local orders (process order and object order) it appears to be well-suited to objects supported by asynchronous distributed systems and accessed by RPC-like mechanisms.
[1] Leslie Lamport,et al. Time, clocks, and the ordering of events in a distributed system , 1978, CACM.
[2] Maurice Herlihy,et al. Linearizability: a correctness condition for concurrent objects , 1990, TOPL.
[3] Leslie Lamport,et al. How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs , 2016, IEEE Transactions on Computers.
[4] Jayadev Misra. Axioms for memory access in asynchronous hardware systems , 1986, TOPL.