Skip to main content
Log in

Optimal propagation-based protocols implementing causal memories

  • Regular Paper
  • Published:
Distributed Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. 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)

    MathSciNet  Google Scholar 

  2. Ahamad, M., Raynal, M., Thia-Kime, G.: An adaptive architecture for causally consistent distributed services. Distributed System Engineering 6(2), 63–70 (1999)

    Article  Google Scholar 

  3. Attiya, H., Welch, J.: Distributed Computing, 2nd ed. Wiley (2004)

  4. Baldoni, R., Melideo, G.: On the minimal information to encode timestamps in a distributed computation. Information Processing Letter 84(3), 159–166 (2002)

    Article  MathSciNet  Google Scholar 

  5. 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

  6. 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)

    Google Scholar 

  7. Birman, K.P., Joseph, T. A.: Reliable communication in the presence of failures. ACM Transactions on Computer Systems 5(1), 47–76 (1987)

    Article  Google Scholar 

  8. Birman, K.P., Schiper, A., Stephenson, P.: Lightweigt causal and atomic group multicast. ACM Transactions on Computer Systems 9(3), 272–314 (1991)

    Article  Google Scholar 

  9. Charron-Bost, B.: Concerning the size of logical clocks in distributed systems. Information Processing Letter 39(1), 11–16 (1991)

    Article  MATH  MathSciNet  Google Scholar 

  10. 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)

  11. Fidge, C.J.: Logical time in distributed computing systems. IEEE Computer 24(8), 28–33 (1991)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Hadzilacos, V., Toueg, S.: Fault tolerant broadcasts and related problems. Distributed Systems 2nd ed. Mullender, vol. 5, (1994)

  14. Herlihy, M., Wing, J.M.: Linearizability: A correctness condition for concurrent objects. ACM Transactions on Programming Languages and Systems 12(3), 463–492 (1990)

    Article  Google Scholar 

  15. 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)

    Article  Google Scholar 

  16. 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)

    MATH  Google Scholar 

  17. Jimenez, E., Fern´ndez, A., Cholvi, V.: On the interconnection of causal memory systems. In: Press in Journal of Parallel and Distributed Computing (2004)

  18. Lamport, L.: Time, clocks and the ordering of events in a distributed system. communications of the ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  19. Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Transactions on Computers 28(9), 690–691 (1979)

    MATH  Google Scholar 

  20. Lamport, L.: On interprocess communication. Part I: Basic Formalism. Distributed Computing 1(2), 77–85 (1986)

    Article  MATH  Google Scholar 

  21. Lipton, R., Sandberg, J.: PRAM: a scalable shared memory. Technical Report CS-TR-180–88, Princeton University (1988)

  22. 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)

  23. OMNeT++ home page: http://www.omnetpp.org/

  24. 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)

    Article  Google Scholar 

  25. 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)

  26. 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)

  27. Singhal, M., Kshemkalyani, A.D.: An efficient implementation of vector clocks. Information Processing Letters 43(1), 47–52 (1992)

    Article  Google Scholar 

  28. 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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Roberto Baldoni.

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/&dollar;∼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

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-005-0128-5

Keywords

Navigation