Skip to main content

A Practical Distributed Universal Construction with Unknown Participants

  • Conference paper
Principles of Distributed Systems (OPODIS 2014)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8878))

Included in the following conference series:

Abstract

Modern distributed systems employ atomic read-modify-write primitives to coordinate concurrent operations. Such primitives are typically built on top of a central server, or rely on an agreement protocol. Both approaches provide a universal construction, that is, a general mechanism to construct atomic and responsive objects. These two techniques are however known to be inherently costly. As a consequence, they may result in bottlenecks in applications using them for coordination. In this paper, we investigate another direction to implement a universal construction. Our idea is to delegate the implementation of the universal construction to the clients, and solely implement a distributed shared atomic memory on the servers side. The construction we propose is obstruction-free. It can be implemented in a purely asynchronous manner, and it does not assume the knowledge of the participants. It is built on top of grafarius and racing objects, two novel shared abstractions that we introduce in detail. To assess the benefits of our approach, we present a prototype implementation on top of the Cassandra data store, and compare it empirically to the Zookeeper coordination service.

This work is sponsored in part by European Commission’s Seventh Framework Program (FP7) under grant agreement No. 318809 (LEADS).

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)

    Article  Google Scholar 

  2. Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)

    Article  Google Scholar 

  3. Balakrishnan, M., Malkhi, D., Prabhakaran, V., Wobber, T., Wei, M., Davis, J.D.: Corfu: A shared log design for flash clusters. In: Proceedings of the 9th USENIX Conference on Networked Systems Design and Implementation, NSDI 2012, pp. 1–1. USENIX Association, Berkeley (2012)

    Google Scholar 

  4. Gafni, E., Lamport, L.: Disk paxos. In: Herlihy, M.P. (ed.) DISC 2000. LNCS, vol. 1914, pp. 330–344. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  5. Balakrishnan, M., Malkhi, D., Wobber, T., Wu, M., Prabhakaran, V., Wei, M., Davis, J.D., Rao, S., Zou, T., Zuck, A.: Tango: Distributed data structures over a shared log. In: 24th ACM Symposium on Operating Systems Principles, SOSP (2013)

    Google Scholar 

  6. Gafni, E.: Round-by-round fault detectors (extended abstract): unifying synchrony and asynchrony. In: Proceedings of the Seventeenth Annual ACM Symposium on Principles of Distributed Computing, PODC 1998, pp. 143–152. ACM, New York (1998)

    Chapter  Google Scholar 

  7. Aspnes, J.: A modular approach to shared-memory consensus, with applications to the probabilistic-write model. In: Proceedings of the 29th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, PODC 2010, pp. 460–467. ACM, New York (2010)

    Chapter  Google Scholar 

  8. Lakshman, A., Malik, P.: Cassandra: A decentralized structured storage system. SIGOPS Oper. Syst. Rev. 44(2) (April 2010)

    Google Scholar 

  9. Junqueira, F.P., Reed, B.C.: The life and times of a ZooKeeper. In: PODC 2009: Proceedings of the 28th ACM Symposium on Principles of Distributed Computing, pp. 4–4. ACM, New York (2009)

    Google Scholar 

  10. Sutra, P., Rivière, E., Felber, P.: A practical distributed universal construction with unknown participants. CoRR abs/1309.2772 (2013)

    Google Scholar 

  11. Fischer, M.J., Lynch, N.A., Patterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)

    Article  MATH  Google Scholar 

  12. Guerraoui, R.: Indulgent algorithms (preliminary version). In: PODC 2000, pp. 289–297. ACM, New York (2000)

    Google Scholar 

  13. Guerraoui, R., Raynal, M.: The information structure of indulgent consensus. IEEE Trans. Comput. 53(4), 453–466 (2004)

    Article  Google Scholar 

  14. Chockler, G., Malkhi, D.: Active disk paxos with infinitely many processes. In: Proceedings of the Twenty-first Annual Symposium on Principles of Distributed Computing, PODC 2002, pp. 78–87. ACM, New York (2002)

    Chapter  Google Scholar 

  15. Attiya, H., Guerraoui, R., Hendler, D., Kuznetsov, P.: The complexity of obstruction-free implementations. J. ACM 56(4), 24:1–24:33 (2009)

    Google Scholar 

  16. Aspnes, J., Ellen, F.: Tight bounds for anonymous adopt-commit objects. In: 23rd Annual ACM Symposium on Parallelism in Algorithms and Architectures, pp. 317–324 (June 2011)

    Google Scholar 

  17. Luchangco, V., Moir, M., Shavit, N.N.: On the uncontended complexity of consensus. In: Fich, F.E. (ed.) DISC 2003. LNCS, vol. 2848, pp. 45–59. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  18. Fich, F.E., Luchangco, V., Moir, M., Shavit, N.N.: Obstruction-free algorithms can be practically wait-free. In: Fraigniaud, P. (ed.) DISC 2005. LNCS, vol. 3724, pp. 78–92. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  19. Jayanti, P., Tan, K., Toueg, S.: Time and space lower bounds for nonblocking implementations. SIAM J. Comput. 30(2), 438–456 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  20. Jayanti, P., Toueg, S.: Some results on the impossibility, universality, and decidability of consensus. In: Segall, A., Zaks, S. (eds.) WDAG 1992. LNCS, vol. 647, pp. 69–84. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  21. Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message-passing systems. J. ACM 42(1), 124–142 (1995)

    Article  MATH  Google Scholar 

  22. Lynch, N.A., Shvartsman, A.A.: Robust emulation of shared memory using dynamic quorum-acknowledged broadcasts. In: Proceedings of the 27th International Symposium on Fault-Tolerant Computing (FTCS 1997). IEEE Computer Society, Washington, DC (1997)

    Google Scholar 

  23. Herlihy, M., Wing, J.: Linearizability: A correcteness condition for concurrent objects. ACM Trans. on Prog. Lang. 12(3), 463–492 (1990)

    Article  Google Scholar 

  24. Herlihy, M., Shavit, N.: On the nature of progress. In: Fernàndez Anta, A., Lipari, G., Roy, M. (eds.) OPODIS 2011. LNCS, vol. 7109, pp. 313–328. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  25. Lamport, L.: A fast mutual exclusion algorithm. ACM Trans. Comput. Syst. 5(1), 1–11 (1987)

    Article  Google Scholar 

  26. Moir, M., Anderson, J.: Fast, long-lived renaming. In: Tel, G., Vitányi, P.M.B. (eds.) WDAG 1994. LNCS, vol. 857, pp. 141–155. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  27. Guerraoui, R., Ruppert, E.: Anonymous and fault-tolerant shared-memory computing. Distributed Computing 20(3), 165–177 (2007)

    Article  MATH  Google Scholar 

  28. Attiya, H., Fouren, A., Gafni, E.: An adaptive collect algorithm with applications. Distributed Computing 15(2), 87–96 (2002)

    Article  Google Scholar 

  29. Sutra, P.: (2013), http://github.com/otrack/pssolib

  30. Allen, A.O.: Probability, Statistics, and Queueing Theory with Computer Science Applications. Academic Press Professional, Inc., San Diego (1990)

    MATH  Google Scholar 

  31. Blasgen, M., Gray, J., Mitoma, M., Price, T.: The convoy phenomenon. SIGOPS Oper. Syst. Rev. 13(2), 20–25 (1979)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer International Publishing Switzerland

About this paper

Cite this paper

Sutra, P., Rivière, É., Felber, P. (2014). A Practical Distributed Universal Construction with Unknown Participants. In: Aguilera, M.K., Querzoni, L., Shapiro, M. (eds) Principles of Distributed Systems. OPODIS 2014. Lecture Notes in Computer Science, vol 8878. Springer, Cham. https://doi.org/10.1007/978-3-319-14472-6_32

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-14472-6_32

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-14471-9

  • Online ISBN: 978-3-319-14472-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics