Abstract
Ensuring causal consistency in a Distributed Shared Memory (DSM) means all operations executed at each process will be compliant to a causality order relation. This paper first introduces an optimality criterion for a protocol P, based on a complete replication of variables at each process and propagation of write updates, that enforces causal consistency. This criterion measures the capability of a protocol to update the local copy as soon as possible while respecting causal consistency. Then we present an optimal protocol built on top of a reliable broadcast communication primitive and we show how previous protocols based on complete replication presented in the literature are not optimal. Interestingly, we prove that the optimal protocol embeds a system of vector clocks which captures the read/write semantics of a causal memory. From an operational point of view, an optimal protocol strongly reduces its message buffer overhead. Simulation studies show that the optimal protocol roughly buffers a number of messages of one order of magnitude lower than non-optimal ones based on the same communication primitive.
Similar content being viewed by others
References
Ahamad, M., Neiger, G., Burns, J.E., Kohli, P., Hutto, P.W.: Causal memory: definitions, implementation and programming. Distributed Computing 9(1), 37–49 (1995)
Ahamad, M., Raynal, M., Thia-Kime, G.: An adaptive architecture for causally consistent distributed services. Distributed System Engineering 6(2), 63–70 (1999)
Attiya, H., Welch, J.: Distributed Computing, 2nd ed. Wiley (2004)
Baldoni, R., Melideo, G.: On the minimal information to encode timestamps in a distributed computation. Information Processing Letter 84(3), 159–166 (2002)
Baldoni, R., Milani, A., Tucci Piergiovanni, S.: Optimal Propagation based Protocols implementing causal memories. Technical Report 19-04, Dipartimento di Informatica e Sistemistica, Universita' di Roma “La Sapienza", (2004) http://www.dis.uniroma1.it/∼midlab
Baldoni, R., Spaziani, C., Tucci Piergiovanni S., Tulone, D.: An implementation of causal memories using the writing semantics. In: Proceedings of 6th International Conference On Principles Of Distributed Systems, pp. 43–52. HERMES Press, Reims France (2002)
Birman, K.P., Joseph, T. A.: Reliable communication in the presence of failures. ACM Transactions on Computer Systems 5(1), 47–76 (1987)
Birman, K.P., Schiper, A., Stephenson, P.: Lightweigt causal and atomic group multicast. ACM Transactions on Computer Systems 9(3), 272–314 (1991)
Charron-Bost, B.: Concerning the size of logical clocks in distributed systems. Information Processing Letter 39(1), 11–16 (1991)
Cheriton, D.R., Skeen, D.: Understanding the limitations of causally and totally ordered communication. In: Proceedings of 14th ACM Symposium on Operating Systems Principles, pp. 44–57. ACM Press (1993)
Fidge, C.J.: Logical time in distributed computing systems. IEEE Computer 24(8), 28–33 (1991)
Gambhire, P., Kshemkalyani, A.D.: Reducing false causality in causal message ordering. In: Proceedings of International Conference on High Performance Computing, LNCS 1970, pp. 61–72 (2000)
Hadzilacos, V., Toueg, S.: Fault tolerant broadcasts and related problems. Distributed Systems 2nd ed. Mullender, vol. 5, (1994)
Herlihy, M., Wing, J.M.: Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)
Kshemkalyani, A.D., Singhal, M.: Necessary and sufficient conditions on the information for causal message ordering and their optimal implementation. Distributed Computing 11(2), 91–111 (1998)
Jimenez, E., Fern´ndez, A., Cholvi, V.: A parametrized algorithm that implements sequential, causal, and cache memory consistency. In: Brief Announcements of the Proceedings of 15th International Symposium on Distributed Computing, Lisboa Portugal (October 3–5 2001). An extended version appeared in :Proceedings of 10th Euromicro Workshop on Parallel, Distributed and Network-based Processing (2002)
Jimenez, E., Fern´ndez, A., Cholvi, V.: On the interconnection of causal memory systems. In: Press in Journal of Parallel and Distributed Computing (2004)
Lamport, L.: Time, clocks and the ordering of events in a distributed system. communications of the ACM 21(7), 558–565 (1978)
Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers 28(9), 690–691 (1979)
Lamport, L.: On interprocess communication. Part I: Basic Formalism. Distributed Computing 1(2), 77–85 (1986)
Lipton, R., Sandberg, J.: PRAM: a scalable shared memory. Technical Report CS-TR-180–88, Princeton University (1988)
Mattern, F.: Virtual time and global states of distributed systems. In: Cosnard, Q., Raynal, R. (ed.), Proceedings of Parallel and Distributed Algorithms Conference, pp. 215–226. North-Holland (1988)
OMNeT++ home page: http://www.omnetpp.org/
Prakash, R., Raynal, M., Singhal, M.: An adaptive causal ering algorithm suited to mobile computing environments. Journal of Parallel and Distributed Computing 41(2), 190–204 (1997)
Raynal, M., Ahamad, M.: Exploiting write semantics in implementing partially replicated causal objects. In: Proceedings of 6th Euromicro Conference on Parallel and Distributed Systems, pp. 175–164 (1998)
Raynal, M., Schiper, A.: From causal consistency to sequential consistency in shared memory systems. In: Thiagarajan, P.S. (ed.), Proceedings of 15th International Conference on Foundations of Software Technology & Theoretical Computer Science, Springer-Verlag LNCS 1026, pp. 180–194. Bangalore, India (1995)
Singhal, M., Kshemkalyani, A.D.: An efficient implementation of vector clocks. Information Processing Letters 43(1), 47–52 (1992)
Tarafdar, A., Garg, V.K.: Addressing false causality while detecting predicates in distributed programs. 8th International Conference on Distributed Computing Systems, pp. 94–101 (1998)
Author information
Authors and Affiliations
Corresponding author
Additional information
R. Baldoni Roberto Baldoni is a Professor of Distributed Systems at the University of Rome “La Sapienza”. He published more than one hundred papers (from theory to practice) in the fields of distributed and mobile computing, middleware platforms and information systems. He is the founder of MIDdleware LABoratory <://www.dis.uniroma1.it/$∼midlab> textgreater (MIDLAB) whose members participate to national and european research projects. He regularly serves as an expert for the EU commission in the evaluation of EU projects. Roberto Baldoni chaired the program committee of the “distributed algorithms” track of the 19th IEEE International Conference on Distributed Computing Systems (ICDCS-99) and /he was PC Co-chair of the ACM International Workshop on Principles of Mobile Computing/ (POMC). He has been also involved in the organizing and program committee of many premiership international conferences and workshops.
A. Milani Alessia Milani is currently involved in a joint research doctoral thesis between the Department of Computer and Systems Science of the University of Rome “La Sapienza” and the University of Rennes I, IRISA.She earned a Laurea degree in Computer Engineering at University of Rome “La Sapienza” on May 2003. Her research activity involves the area of distributed systems. Her current research interests include communication paradigms, in particular distributed shared memories, replication and consistency criterions.
S. Tucci Piergiovanni Sara Tucci Piergiovanni is currently a Ph.D. Student at the Department of Computer and Systems Science of the University of Rome “La Sapienza”.She earned a Laurea degree in Computer Engineering at University of Rome “La Sapienza” on March 2002 with marks 108/110. Her laurea thesis has been awarded the italian national “Federcommin-AICA” prize 2002 for best laurea thesis in Information Technology. Her research activity involves the area of distributed systems. Early works involved the issue of fault-tolerance in asynchronous systems and software replication. Currently, her main focus is on communication paradigms that provide an “anonymous” communication as publish/subscribe and distributed shared memories. The core contributions are several papers published in international conferences and journals.
Rights and permissions
About this article
Cite this article
Baldoni, R., Milani, A. & Piergiovanni, S.T. Optimal propagation-based protocols implementing causal memories. Distrib. Comput. 18, 461–474 (2006). https://doi.org/10.1007/s00446-005-0128-5
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-005-0128-5