10.1145/2911151.2911167acmotherconferencesArticle/Chapter ViewAbstractPublication PageseurosysConference Proceedings
research-article

Making weak consistency great again

ABSTRACT

This paper focuses on the problem of implementing web applications on top of weakly consistent geo-replicated systems. Several techniques, such as CRDTs, have been proposed to achieve state convergence on a per-object and per-data type basis. However, that does not guarantee application correctness, as convergence rules applied individually at each object may lead to an invalid state.

We advocate that it is possible to address these problems and implement correct applications under weak consistency. To that end, it is necessary to combine CRDTs with novel semantics, judiciously select the CRDTs that are used by applications, and transform application operations to guarantee that convergence rules, applied on a per-object basis, always lead to valid application states. Achieving this is complex and requires tools to help programmers tame the complexity of programming on top of weak consistency and make the technology more accessible.

In the presentation of this work we make a demonstration of a prototype tool that is capable of detecting concurrency conflicts on applications and propose transformations to make them conflict-free.

References

  1. Alvaro, P., Conway, N., Hellerstein, J. M., and Marczak, W. R. Consistency analysis in bloom: A calm and collected approach. In In Proceedings 5th Biennial Conference on Innovative Data Systems Research (2011), pp. 249--260.Google ScholarGoogle Scholar
  2. Bailis, P., Fekete, A., Franklin, M. J., Ghodsi, A., Hellerstein, J. M., and Stoica, I. Feral concurrency control: An empirical investigation of modern application integrity. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data (New York, NY, USA, 2015), SIGMOD '15, ACM, pp. 1327--1342. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Balegas, V., Duarte, S., Ferreira, C., Rodrigues, R., Preguiça, N., Najafzadeh, M., and Shapiro, M. Putting consistency back into eventual consistency. In Proceedings of the Tenth European Conference on Computer Systems (New York, NY, USA, 2015), EuroSys '15, ACM, pp. 6:1--6:16. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Balegas, V., Serra, D., Duarte, S., Ferreira, C., Shapiro, M., Rodrigues, R., and Preguiça, N. M. Extending eventually consistent cloud databases for enforcing numeric invariants. In 34th IEEE Symposium on Reliable Distributed Systems, SRDS 2015, Montreal, QC, Canada, September 28 - October 1, 2015 (2015), pp. 31--36. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Basho. Riak. http://basho.com/riak/, 2014. Accessed Fev/2016.Google ScholarGoogle Scholar
  6. Corbett, J. C., Dean, J., Epstein, M., Fikes, A., Frost, C., Furman, J. J., Ghemawat, S., Gubarev, A., Heiser, C., Hochschild, P., Hsieh, W., Kanthak, S., Kogan, E., Li, H., Lloyd, A., Melnik, S., Mwaura, D., Nagle, D., Quinlan, S., Rao, R., Rolig, L., Saito, Y., Szymaniak, M., Taylor, C., Wang, R., and Woodford, D. Spanner: Google's globally-distributed database. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (Berkeley, CA, USA, 2012), OSDI'12, USENIX Association, pp. 251--264. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Gotsman, A., Yang, H., Ferreira, C., Najafzadeh, M., and Shapiro, M. 'cause i'm strong enough: Reasoning about consistency choices in distributed systems. In Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (New York, NY, USA, 2016), POPL 2016, ACM, pp. 371--384. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Li, C., Porto, D., Clement, A., Gehrke, J., Preguiça, N., and Rodrigues, R. Making geo-replicated systems fast as possible, consistent when necessary. In Proceedings of the 10th USENIX Conference on Operating Systems Design and Implementation (Berkeley, CA, USA, 2012), OSDI'12, USENIX Association, pp. 265--278. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Roy, S., Kot, L., Bender, G., Ding, B., Hojjat, H., Koch, C., Foster, N., and Gehrke, J. The homeostasis protocol: Avoiding transaction coordination through program analysis. In Proceedings of the 2015 ACM SIGMOD International Conference on Management of Data (New York, NY, USA, 2015), SIGMOD '15, ACM, pp. 1311--1326. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Shapiro, M., Preguiça, N., Baquero, C., and Zawirski, M. Conflict-free replicated data types. In Proceedings of the 13th International Symposium on Stabilization, Safety, and Security of Distributed Systems (SSS) (Grenoble, France, Oct. 2011), X. Défago, F. Petit, and V. Villain, Eds., vol. 6976 of Lecture Notes on Computer Science, Springer, pp. 386--400. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Zawirski, M., Preguiça, N., Duarte, S., Bieniusa, A., Balegas, V., and Shapiro, M. Write fast, read in the past: Causal consistency for client-side applications. In Proceedings of the 16th Annual Middleware Conference (New York, NY, USA, 2015), Middleware '15, ACM, pp. 75--87. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Zhang, I., Sharma, N. K., Szekeres, A., Krishnamurthy, A., and Ports, D. R. K. Building consistent transactions with inconsistent replication. In Proceedings of the 25th Symposium on Operating Systems Principles, SOSP 2015, Monterey, CA, USA, October 4-7, 2015 (2015), pp. 263--278. Google ScholarGoogle ScholarDigital LibraryDigital Library

Comments

Login options

Check if you have access through your login credentials or your institution to get full access on this article.

Sign in
  • Article Metrics

    • Downloads (Last 12 months)31
    • Downloads (Last 6 weeks)0

    Other Metrics

PDF Format

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader
About Cookies On This Site

We use cookies to ensure that we give you the best experience on our website.

Learn more

Got it!