Advertisement

Making Operation-Based CRDTs Operation-Based

  • Carlos Baquero
  • Paulo Sérgio Almeida
  • Ali Shoker
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8460)

Abstract

Conflict-free Replicated Datatypes (CRDT) are usually classified as either state-based or operation-based. However, the standard definition of op-based CRDTs is very encompassing, allowing even sending the full-state, blurring the distinction. We introduce pure op-based CRDTs, that can only send operations to other replicas, drawing a clear distinction from state-based ones. Datatypes with commutative operations can be trivially implemented as pure op-based CRDTs using standard reliable causal delivery. We propose an extended API – tagged reliable causal broadcast – that provides causality information upon delivery, and show how it can be used to also implement other datatypes having non-commutative operations, through the use of a PO-Log – a partially ordered log of operations – inside the datatype. A semantically-based PO-Log compaction framework, using both causality and what we denote by causal stability, allows obtaining very compact replica state for pure op-based CRDTs, while also benefiting from small message sizes.

Keywords

Reference Implementation Causality Information Concurrent Operation Query Function Vector Clock 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Vogels, W.: Eventually consistent. ACM Queue 6(6), 14–19 (2008)CrossRefGoogle Scholar
  2. 2.
    Cribbs, S., Brown, R.: Data structures in Riak. In: Riak Conference (RICON), San Francisco, CA, USA (October 2012)Google Scholar
  3. 3.
    Bailis, P., Ghodsi, A.: Eventual consistency today: Limitations, extensions, and beyond. Queue 11(3), 20:20–20:32 (2013)CrossRefGoogle Scholar
  4. 4.
    Terry, D.B., Theimer, M.M., Petersen, K., Demers, A.J., Spreitzer, M.J., Hauser, C.H.: Managing update conflicts in Bayou, a weakly connected replicated storage system. In: Symp. on Op. Sys. Principles (SOSP), Copper Mountain, CO, USA, pp. 172–182. ACM SIGOPS, ACM Press (1995)Google Scholar
  5. 5.
    DeCandia, G., Hastorun, D., Jampani, M., Kakulapati, G., Lakshman, A., Pilchin, A., Sivasubramanian, S., Vosshall, P., Vogels, W.: Dynamo: Amazon’s highly available key-value store. In: Symp. on Op. Sys. Principles (SOSP), Stevenson, Washington, USA. Operating Systems Review, vol. 41, pp. 205–220. Assoc. for Computing Machinery (October 2007)Google Scholar
  6. 6.
    Shapiro, M., Preguiça, N., Baquero, C., Zawirski, M.: A comprehensive study of Convergent and Commutative Replicated Data Types. Rapp. Rech. 7506, Institut National de la Recherche en Informatique et Automatique (INRIA), Rocquencourt, France (January 2011)Google Scholar
  7. 7.
    Shapiro, M., Preguiça, N., Baquero, C., Zawirski, M.: Conflict-free replicated data types. In: Défago, X., Petit, F., Villain, V. (eds.) SSS 2011. LNCS, vol. 6976, pp. 386–400. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Letia, M., Preguiça, N., Shapiro, M.: CRDTs: Consistency without concurrency control. Rapp. Rech. RR-6956, Institut National de la Recherche en Informatique et Automatique (INRIA), Rocquencourt, France (June 2009)Google Scholar
  9. 9.
    Baquero, C., Moura, F.: Using structural characteristics for autonomous operation. Operating Systems Review 33(4), 90–96 (1999)CrossRefGoogle Scholar
  10. 10.
    Birman, K., Schiper, A., Stephenson, P.: Lightweight causal and atomic group multicast. ACM Trans. Comput. Syst. 9(3), 272–314 (1991)CrossRefGoogle Scholar
  11. 11.
    Bieniusa, A., Zawirski, M., Preguiça, N., Shapiro, M., Baquero, C., Balegas, V., Duarte, S.: Brief announcement: Semantics of eventually consistent replicated sets. In: Aguilera, M.K. (ed.) DISC 2012. LNCS, vol. 7611, pp. 441–442. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  12. 12.
    Schmuck, F.B.: The use of efficient broadcast protocols in asynchronous distributed systems. Technical Report TR 88-928, Cornell University (1988)Google Scholar
  13. 13.
    Mahajan, P., Alvisi, L., Dahlin, M.: Consistency, availability, and convergence. Technical Report UTCS TR-11-22, Dept. of Comp. Sc., The U. of Texas at Austin, Austin, TX, USA (2011)Google Scholar
  14. 14.
    Wuu, G.T.J., Bernstein, A.J.: Efficient solutions to the replicated log and dictionary problems. In: Symp. on Principles of Dist. Comp (PODC), Vancouver, BC, Canada, pp. 233–242 (August 1984)Google Scholar
  15. 15.
    Burckhardt, S., Gotsman, A., Yang, H., Zawirski, M.: Replicated data types: specification, verification, optimality. In: Jagannathan, S., Sewell, P. (eds.) POPL, pp. 271–284. ACM (2014)Google Scholar
  16. 16.
    Johnson, P.R., Thomas, R.H.: The maintenance of duplicate databases. Internet Request for Comments RFC 677, Information Sciences Institute (January 1976)Google Scholar
  17. 17.
    Quarterman, J.S., Hoskins, J.C.: Notable computer networks. Commun. ACM 29(10), 932–971 (1986)CrossRefGoogle Scholar
  18. 18.
    Ladin, R., Liskov, B., Shrira, L., Ghemawat, S.: Providing high availability using lazy replication. ACM Trans. Comput. Syst. 10(4), 360–391 (1992)CrossRefGoogle Scholar
  19. 19.
    Golding, R.A.: Weak-consistency group communication and membership. PhD thesis, University of California Santa Cruz, Santa Cruz, CA, USA (December 1992) Tech. Report no. UCSC-CRL-92-52Google Scholar
  20. 20.
    Roh, H.G., Jeon, M., Kim, J.S., Lee, J.: Replicated Abstract Data Types: Building blocks for collaborative applications. Journal of Parallel and Dist. Comp. 71(3), 354–368 (2011)CrossRefzbMATHGoogle Scholar
  21. 21.
    Rovio Entertainment Ltd.: Rovio gaming (2013), http://www.rovio.com/en
  22. 22.
    Pereira, J., Rodrigues, L., Oliveira, R.: Semantically reliable multicast: Definition, implementation, and performance evaluation. IEEE Trans. Comput. 52(2), 150–165 (2003)CrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2014

Authors and Affiliations

  • Carlos Baquero
    • 1
  • Paulo Sérgio Almeida
    • 1
  • Ali Shoker
    • 1
  1. 1.HASLab/INESC TEC and Universidade do MinhoBragaPortugal

Personalised recommendations