Abstract
A concurrent object is an object that can be concurrently accessed by several processes. Two well known consistency criteria for such objects are atomic consistency (also called linearizability) and sequential consistency. Both criteria require that all the operations on all the concurrent objects be totally ordered in such a way that each read operation obtains the last value written into the corresponding object. They differ in the meaning of the word ”last” that refers to physical time for atomic consistency, and to logical time for sequential consistency. This paper investigates the merging of these consistency criteria. It presents a protocol that allows the upper layer multiprocess program to use simultaneously both types of consistency: purely atomic objects can coexist with purely sequentially consistent objects. The protocol is built on top of a message passing asynchronous distributed system. Interestingly, this protocol is generic in the sense that it can be tailored to provide only one of these consistency criteria.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Adve, S.V., Garachorloo, K.: Shared Memory Models: a Tutorial. IEEE Computer 29(12), 66–77 (1997)
Afek, Y., Brown, G., Merritt, M.: Lazy Caching. ACM Transactions on Programming Languages and Systems 15(1), 182–205 (1993)
Ahamad, M., Hutto, P.W., Neiger, G., Burns, J.E., Kohli, P.: Causal memory: Definitions, Implementations and Programming. Distributed Comp. 9, 37–49 (1995)
Ahamad, M., Kordale, R.: Scalable Consistency Protocols for Distributed Services. IEEE Transactions on Parallel and Distributed Systems 10(9), 888–903 (1999)
Ahamad, M., Raynal, M., Thia-Kime, G.: An Adaptive Protocol for Implementing Causally Consistent Distributed Services. In: Proc. 18th IEEE Int. Conf. on Distributed Computing Systems, pp. 86–93. IEEE Computer Society Press, Los Alamitos (1998)
Attiya, H., Welch, J.L.: Sequential Consistency versus Linearizability. ACM Transactions on Computer Systems 12(2), 91–122 (1994)
Garg, V.K., Raynal, M.: Normality: a Correctness Condition for Concurrent Objects. Parallel Processing Letters 9(1), 123–134 (1999)
Herlihy, M.P., Wing, J.L.: Linearizability: a Correctness Condition for Concurrent Objects. ACM TOPLAS 12(3), 463–492 (1990)
Ibaraki, T., Kameda, T., Minoura, T.: Serializability with Constraints. ACM Transactions on Database Systems 12(3), 429–452 (1987)
Lamport, L.: How to Make a Multiprocessor Computer that Correctly Executes Multiprocess Programs. IEEE Transactions on Computers C28(9), 690–691 (1979)
Li, K., Hudak, P.: Memory Coherence in Shared Virtual Memory Systems. ACM Transactions on Computer Systems 7(4), 321–359 (1989)
Mizuno, M., Nielsen, M.L., Raynal, M.: An Optimistic Protocol for a Linearizable Distributed Shared Memory System. Parallel Proc. Letters 6(2), 265–278 (1996)
Mizuno, M., Raynal, M., Zhou, J.Z.: Sequential Consistency in Distributed Systems. In: Birman, K.P., Mattern, F., Schiper, A. (eds.) Dagstuhl Seminar 1994. LNCS, vol. 938, pp. 224–241. Springer, Heidelberg (1995)
Papadimitriou, C.: The Theory of Concurrency Control. Comp. Science Press (1986)
Raynal, M.: Sequential Consistency as Lazy Linearizability. In: 14th ACM Symposium on Parallel Algorithms and Architectures (SPAA 2002), pp. 151–152 (2002)
Raynal, M.: Token-Based Sequential Consistency. Journal of Computer Systems Science and Engineering 17(6), 359–365 (2002)
Raynal, M., Roy, M., Tutu, C.: A simple Protocol Offering Both Atomic Read Operations and Sequentially Consistent Read operations. In: Proc. 19th Int. Conference on Advanced Information Networking and Applications (AINA 2005). IEEE Computer Society Press, Los Alamitos (2005)
Raynal, M., Schiper, A.: From Causal Consistency to Sequential Consistency in Shared Memory Systems. In: Thiagarajan, P.S. (ed.) FSTTCS 1995. LNCS, vol. 1026, pp. 180–194. Springer, Heidelberg (1995)
Raynal, M., Schiper, A.: A Suite of Formal Definitions for Consistency Criteria in Distributed Shared Memories. In: Proc. 9th Int. IEEE Conference on Parallel and Distributed Computing Systems (PDCS 1996), pp. 125–131 (1996)
Raynal, M., Vidyasankar, K.: A Distributed Implementation of Sequential Consistency with Multi-Object Operations. In: 24th IEEE Int. Conf. on Distributed Computing Systems (ICDCS 2004), pp. 544–551. IEEE Computer Society Press, Los Alamitos (2004)
Taylor, R.N.: Complexity of Analyzing the Synchronization Structure of Concurrent Programs. Acta Informatica 19, 57–84 (1983)
Zhan, Z., Ahamad, M., Raynal, M.: Mixed Consistency Model: Meeting Data Sharing Needs of Heterogeneous Users. In: Proc. 25th IEEE Int. Conference on Distributed Computing Systems (ICDCS 2005). IEEE Computer Society Press, Los Alamitos (2005)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Raynal, M., Roy, M. (2005). Allowing Atomic Objects to Coexist with Sequentially Consistent Objects. In: Malyshkin, V. (eds) Parallel Computing Technologies. PaCT 2005. Lecture Notes in Computer Science, vol 3606. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11535294_6
Download citation
DOI: https://doi.org/10.1007/11535294_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-28126-9
Online ISBN: 978-3-540-31826-2
eBook Packages: Computer ScienceComputer Science (R0)