Skip to main content

Fisheye Consistency: Keeping Data in Synch in a Georeplicated World

  • Conference paper
  • First Online:
Networked Systems (NETYS 2015)

Part of the book series: Lecture Notes in Computer Science ((LNCCN,volume 9466))

Included in the following conference series:

Abstract

Over the last thirty years, numerous consistency conditions for replicated data have been proposed and implemented. Popular examples include linearizability (or atomicity), sequential consistency, causal consistency, and eventual consistency. These conditions are usually defined independently from the computing entities (nodes) that manipulate the replicated data; i.e., they do not take into account how computing entities might be linked to one another, or geographically distributed. To address this lack, as a first contribution, this paper introduces the notion of proximity graph between computing nodes. If two nodes are connected in this graph, their operations must satisfy a strong consistency condition, while the operations invoked by other nodes are allowed to satisfy a weaker condition. The second contribution exploits this graph to provide a generic approach to the hybridization of data consistency conditions within the same system. We illustrate this approach on sequential consistency and causal consistency, and present a model in which all data operations are causally consistent, while operations by neighboring processes in the proximity graph are sequentially consistent. The third contribution of the paper is the design and the proof of a distributed algorithm based on this proximity graph, which combines sequential consistency and causal consistency (the resulting condition is called fisheye consistency). In doing so the paper provides a generic provably correct solution of direct relevance to modern georeplicated systems.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Adve, S., Gharachorloo, K.: Shared memory consistency models: a tutorial. IEEE Comp. Mag. 29(12), 66–76 (1996)

    Article  Google Scholar 

  2. Ahamad, M., Niger, G., Burns, J.E., Hutto, P.W., Kohl, P.: Causal memory: definitions, implementation and programming. Dist. Comput. 9, 37–49 (1995)

    Article  MathSciNet  Google Scholar 

  3. Almeida, S., Leitaõ, J., Rodrigues, L.: ChainReaction: a causal+ consistent datastore based on chain replication. In: 8th ACM European Conference on Computer Systems (EuroSys 2013), pp. 85–98 (2013)

    Google Scholar 

  4. Alvaro, P., Bailis, P., Conway, N., Hellerstein, J.M.: Consistency without borders. In: 4th ACM Symposium on Cloud Computing (SOCC 2013), p. 23 (2013)

    Google Scholar 

  5. Attiya, H., Friedman, R.: A correctness condition for high-performance multiprocessors. SIAM J. Comput. 27(6), 1637–1670 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  6. Attiya, H., Friedman, R.: Limitations of fast consistency conditions for distributed shared memories. Inf. Process. Lett. 57(5), 243–248 (1996)

    Article  MATH  Google Scholar 

  7. Attiya, H., Welch, J.L.: Sequential consistency versus linearizability. ACM Trans. Comp. Sys. 12(2), 91–122 (1994)

    Article  Google Scholar 

  8. Attiya, H., Welch, J.L.: Distributed computing: fundamentals, simulations and advanced topics, 2nd edn., 414 pages. Wiley-Interscience (2004). ISBN 0-471-45324-2

    Google Scholar 

  9. Bailis, P., Ghodsi, A., Hellerstein, J.M., Stoica, I.: Bolt-on causal consistency. In: 2013 ACM SIGMOD International Conference on Management of Data (SIGMOD 2013), pp. 761–772 (2013)

    Google Scholar 

  10. Birman, K.P., Friedman, R.: Trading Consistency for Availability in Distributed Systems. Technical report #TR96-1579, Computer Science Department, Cornell University, April 2016

    Google Scholar 

  11. Birman, K.P., Joseph, T.A.: Reliable communication in presence of failures. ACM Trans. Comp. Sys. 5(1), 47–76 (1987)

    Article  Google Scholar 

  12. Birman, K., Schiper, A., Stephenson, P.: Lightweight causal and atomic group multicast. ACM Trans. Comput. Syst. 9, 272–314 (1991)

    Article  Google Scholar 

  13. Brewer, E.: Towards robust towards robust distributed systems. In: 19th ACM Symposium on Principles of Distributed Computing (PODC), Invited talk (2000)

    Google Scholar 

  14. Burckhardt, S., Gotsman, A., Yang, H., Zawirski, M.: Replicated data types: specification, verification, optimality. In: 41st ACM Symposium on Principles of Programming Languages (POPL), pp. 271–284 (2014)

    Google Scholar 

  15. 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: 21st ACM Symposium on Operating Systems Principles (SOSP 2007), pp. 205–220 (2007)

    Google Scholar 

  16. Friedman, R.: Implementing hybrid consistency with high-level synchronization operations. Distrib. Comput. 9(3), 119–129 (1995)

    Article  Google Scholar 

  17. Garg, V.K., Raynal, M.: Normality: a consistency condition for concurrent objects. Parallel Process. Lett. 9(1), 123–134 (1999)

    Article  Google Scholar 

  18. Gharachorloo, K., Lenoski, D., Laudon, J., Gibbons, P., Gupta, A., Hennessy, J.: Memory consistency and event ordering in scalable shared-memory multiprocessors. In: 17th ACM Annual International Symposium on Computer Architecture (ISCA), pp. 15–26 (1990)

    Google Scholar 

  19. Herlihy, M., Shavit, N.: The Art of Multiprocessor Programming, 508 pages. Morgan Kaufmann Publishers Inc. (2008). ISBN 978-0-12-370591-4

    Google Scholar 

  20. Herlihy, M., Wing, J.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)

    Article  Google Scholar 

  21. Keleher, P., Cox, A.L., Zwaenepoel, W.: Lazy release consistency for software distributed shared memory. In: Proceedings of the 19th ACM International Symposium on Computer Architecture (ISCA 1992), pp. 13–21 (1992)

    Google Scholar 

  22. Lakshman, A., Malik, P.: Cassandra: a decentralized structured storage system. SIGOPS Oper. Syst. Rev. 44, 35–40 (2010)

    Article  Google Scholar 

  23. Lamport, L.: Time, Clocks and the ordering of events in a distributed system. Comm. ACM 21, 558–565 (1978)

    Article  MATH  Google Scholar 

  24. Lamport, L.: How to make a multiprocessor computer that correctly executes multiprocess programs. IEEE Trans. Comp. C28(9), 690–691 (1979)

    Article  MATH  Google Scholar 

  25. PRAM: A Scalable Shared Memory. Technical Report CS-TR-180-88, Princeton University, September 1988

    Google Scholar 

  26. Lloyd, W., Freedman, M.J., Kaminsky, M., Andersen, D.G.: Don’t settle for eventual: scalable causal consistency for wide-area storage with COPS. In: 23rd ACM Symposium on Operating Systems Principles, pp. 401–416 (2011)

    Google Scholar 

  27. Lynch, N.A.: Distributed Algorithms, 872 pages. Morgan Kaufman, San Francisco (1996)

    Google Scholar 

  28. Mizuno, M., Raynal, M., Zhou, J.Z.: Sequential consistency in distributed systems. In: Birman, K.P., Mattern, F., Schiper, A. (eds.) Theory and Practice in Distributed Systems. LNCS, vol. 938, pp. 224–241. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  29. Oster, G., Urso, P., Molli, P., Imine, A.: Data consistency for P2P collaborative editing. In: 20th Anniversary Conference on Computer Supported Cooperative Work, pp. 259–268. ACM (2006)

    Google Scholar 

  30. Preguiça, N.M., Marquès, J.M., Shapiro, M., Letia, M.: A commutative replicated data type for cooperative editing. In: Proceedings of the 29th IEEE International Conference on Distributed Computing Systems (ICDCS 2009), pp. 395–403 (2009)

    Google Scholar 

  31. Raynal, M.: Concurrent Programming: Algorithms, Principles, and Foundations, 515 pages. Springer, Heidelberg (2013). ISBN 978-3-642-32026-2

    Google Scholar 

  32. Raynal, M.: Distributed Algorirhms for Message-Passing Systems, 500 pages. Springer (2013). ISBN 978-3-642-38122-5

    Google Scholar 

  33. Raynal, M., Schiper, A.: A suite of formal definitions for consistency criteria in distributed shared memories. In: 9th International IEEE Conference on Parallel and Distributed Computing Systems (PDCS 1996), pp. 125–131 (1996)

    Google Scholar 

  34. Raynal, M., Schiper, A., Toueg, S.: The causal ordering abstraction and a simple way to implement. Inf. Process. Lett. 39(6), 343–350 (1991)

    Article  MathSciNet  MATH  Google Scholar 

  35. Saito, Y., Shapiro, M.: Optimistic replication. ACM Comput. Surv. 37(1), 42–81 (2005)

    Article  MATH  Google Scholar 

  36. Shapiro, M., Preguiça, N.M., Baquero, C., Zawirski, M.: Convergent and commutative replicated data types. Bull. EATCS 104, 67–88 (2011)

    MathSciNet  MATH  Google Scholar 

  37. Sovran, Y., Power, R., Aguilera, M.K., Li, J.: Transactional storage for geo-replicated systems. In: 23rd ACM Symposium on Operating Systems Principles (SOSP), pp. 385–400 (2011)

    Google Scholar 

  38. Terry D.B., Prabhakaran, V., Kotla, R., Balakrishnan, M., Aguilera, M.K., Abu-Libdeh, H.: Consistency-based service level agreements for cloud storage. In: 24th ACM Symposium on Operating Systems Principles (SOSP 2013), pp. 309–324 (2013)

    Google Scholar 

  39. 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: 15th ACM Symposium on Operating Systems Principles (SOSP 1995), pp. 172–182 (1995)

    Google Scholar 

  40. Xie, C., Su, C., Kapritsos, M., Wang, Y., Yaghmazadeh, N., Alvisi, L., Mahajan, P.: SALT: combining ACID and BASE in a distributed database. In: USENIX Operating Systems Design & Implementation (OSDI) (2014)

    Google Scholar 

Download references

Acknowledgments

This work was partially funded by the French ANR project SocioPlug (ANR-13-INFR-0003), and by the DeSceNt project (Labex CominLabs excellence laboratory ANR-10-LABX-07-01).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Francois Taïani .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Friedman, R., Raynal, M., Taïani, F. (2015). Fisheye Consistency: Keeping Data in Synch in a Georeplicated World. In: Bouajjani, A., Fauconnier, H. (eds) Networked Systems . NETYS 2015. Lecture Notes in Computer Science(), vol 9466. Springer, Cham. https://doi.org/10.1007/978-3-319-26850-7_17

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-26850-7_17

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-26849-1

  • Online ISBN: 978-3-319-26850-7

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics