Advertisement

An Anonymous Wait-Free Weak-Set Object Implementation

  • Carole Delporte-Gallet
  • Hugues Fauconnier
  • Sergio RajsbaumEmail author
  • Nayuta Yanagisawa
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11028)

Abstract

We consider a system of n anonymous processes communicating through multi-writer/multi-reader (MWMR) registers. A weak-set object is a particularly interesting communication abstraction for anonymous processes; it may be seen as the equivalent of an atomic snapshot object in an anonymous system. It can be accessed through two operations: \(\textsc {add}()\) and \(\textsc {get}()\). Intuitively, an \(\textsc {add}(v)\) operation puts value v in the set represented by the object, while a \(\textsc {get}()\) operation returns the contents of the set. The paper describes a wait-free atomic implementation of a weak-set object shared by n anonymous processes using 3n MWMR registers. The description of the algorithm is incremental. The paper first presents an implementation that is wait-free only for the \(\textsc {Get}()\) operations, using 2n MWMR registers. Then it describes an implementation that is wait-free for the \(\textsc {Get}()\) and the \(\textsc {Add}()\) operations, using \(3n+1\) MWMR registers, and finally it is improved to an implementation using 3n MWMR registers. In addition, a lower-bound of n registers for the implementation of a wait-free atomic weak-set is proved.

Keywords

Shared memory Anonymous processes Wait-free 

References

  1. 1.
    Afek, Y., Attiya, H., Dolev, D., Gafni, E., Merritt, M., Shavit, N.: Atomic snapshots of shared memory. J. ACM 40(4), 873–890 (1993)CrossRefGoogle Scholar
  2. 2.
    Aspnes, J., Fich, F.E., Ruppert, E.: Relationships between broadcast and shared memory in reliable anonymous distributed systems. Distrib. Comput. 18(3), 209–219 (2006)CrossRefGoogle Scholar
  3. 3.
    Attiya, H., Bar-Noy, A., Dolev, D.: Sharing memory robustly in message passing systems. J. ACM 42(2), 124–142 (1995)CrossRefGoogle Scholar
  4. 4.
    Attiya, H., Gorbach, A., Moran, S.: Computing in totally anonymous asynchronous shared memory systems. Inf. Comput. 173(2), 162–183 (2002)MathSciNetCrossRefGoogle Scholar
  5. 5.
    Baldoni, R., Bonomi, S., Raynal, M.: Implementing set objects in dynamic distributed systems. J. Comput. Syst. Sci. 82(5), 654–689 (2016)MathSciNetCrossRefGoogle Scholar
  6. 6.
    Biran, O., Moran, S., Zaks, S.: A combinatorial characterization of the distributed 1-solvable tasks. J. Algorithms 11(3), 420–440 (1990)MathSciNetCrossRefGoogle Scholar
  7. 7.
    Borowsky, E., Gafni, E., Lynch, N., Rajsbaum, S.: The BG distributed simulation algorithm. Distrib. Comput. 14(3), 127–146 (2001)CrossRefGoogle Scholar
  8. 8.
    Bouzid, Z., Raynal, M., Sutra, P.: Anonymous obstruction-free (n, k)-set agreement with n-k+1 atomic read/write registers. In: 19th International Conference on Principles of Distributed Systems, OPODIS 2015, Rennes, France, 14–17 December 2015, pp. 18:1–18:17 (2015)Google Scholar
  9. 9.
    Castañeda, A., Rajsbaum, S., Raynal, M.: Specifying concurrent problems: beyond linearizability and up to tasks. In: Moses, Y. (ed.) DISC 2015. LNCS, vol. 9363, pp. 420–435. Springer, Heidelberg (2015).  https://doi.org/10.1007/978-3-662-48653-5_28CrossRefGoogle Scholar
  10. 10.
    Castañeda, A., Rajsbaum, S., Raynal, M.: Long-lived tasks. In: El Abbadi, A., Garbinato, B. (eds.) NETYS 2017. LNCS, vol. 10299, pp. 439–454. Springer, Cham (2017).  https://doi.org/10.1007/978-3-319-59647-1_32CrossRefGoogle Scholar
  11. 11.
    Chaudhuri, S.: More choices allow more faults: set consensus problems in totally asynchronous systems. Inf. Comput. 105(1), 132–158 (1993)MathSciNetCrossRefGoogle Scholar
  12. 12.
    Delporte-Gallet, C., Fauconnier, H.: Two consensus algorithms with atomic registers and failure detector \(\varOmega \). In: Garg, V., Wattenhofer, R., Kothapalli, K. (eds.) ICDCN 2009. LNCS, vol. 5408, pp. 251–262. Springer, Heidelberg (2008).  https://doi.org/10.1007/978-3-540-92295-7_31CrossRefzbMATHGoogle Scholar
  13. 13.
    Delporte-Gallet, C., Fauconnier, H., Gafni, E., Lamport, L.: Adaptive register allocation with a linear number of registers. In: Afek, Y. (ed.) DISC 2013. LNCS, vol. 8205, pp. 269–283. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-41527-2_19CrossRefGoogle Scholar
  14. 14.
    Delporte-Gallet, C., Fauconnier, H., Gafni, E., Rajsbaum, S.: Black art: obstruction-free k-set agreement with \(|\)MWMR registers\(|\ < \ |\)proccesses\(|\). In: Gramoli, V., Guerraoui, R. (eds.) NETYS 2013. LNCS, vol. 7853, pp. 28–41. Springer, Heidelberg (2013).  https://doi.org/10.1007/978-3-642-40148-0_3CrossRefGoogle Scholar
  15. 15.
    Delporte-Gallet, C., Fauconnier, H., Gafni, E., Rajsbaum, S.: Linear space bootstrap communication schemes. Theor. Comput. Sci. 561(Part B), 122–133 (2015). Special Issue on Distributed Computing and NetworkingMathSciNetCrossRefGoogle Scholar
  16. 16.
    Delporte-Gallet, C., Fauconnier, H., Rajsbaum, S., Yanagisawa, N.: A characterization of colorless anonymous t-resilient task computability. Technical report, Kyoto University. arXiv:1712.04393v1, December 2017
  17. 17.
    Delporte-Gallet, C., Fauconnier, H., Tielmann, A.: Fault-tolerant consensus in unknown and anonymous networks. In: 29th IEEE International Conference on Distributed Computing Systems (ICDCS 2009), Montreal, Québec, Canada, 22–26 June 2009, pp. 368–375. IEEE Computer Society (2009)Google Scholar
  18. 18.
    Ellen, F., Fatourou, P., Ruppert, E.: The space complexity of unbounded timestamps. Distrib. Comput. 21(2), 103–115 (2008)CrossRefGoogle Scholar
  19. 19.
    Fich, F.E.: How hard is it to take a snapshot? In: Vojtáš, P., Bieliková, M., Charron-Bost, B., Sýkora, O. (eds.) SOFSEM 2005. LNCS, vol. 3381, pp. 28–37. Springer, Heidelberg (2005).  https://doi.org/10.1007/978-3-540-30577-4_3CrossRefGoogle Scholar
  20. 20.
    Guerraoui, R., Ruppert, E.: Anonymous and fault-tolerant shared-memory computing. Distrib. Comput. 20(3), 165–177 (2007)CrossRefGoogle Scholar
  21. 21.
    Herlihy, M.: Wait-free synchronization. ACM Trans. Program. Lang. Syst. 13(1), 124–149 (1991)CrossRefGoogle Scholar
  22. 22.
    Herlihy, M.P., Wing, J.M.: Linearizability: a correctness condition for concurrent objects. ACM Trans. Program. Lang. Syst. 12(3), 463–492 (1990)CrossRefGoogle Scholar
  23. 23.
    Imbs, D., Raynal, M.: Help when needed, but no more: efficient read/write partial snapshot. J. Parallel Distrib. Comput. 72(1), 1–12 (2012)CrossRefGoogle Scholar
  24. 24.
    Inoue, M., Masuzawa, T., Chen, W., Tokura, N.: Linear-time snapshot using multi-writer multi-reader registers. In: Tel, G., Vitányi, P. (eds.) WDAG 1994. LNCS, vol. 857, pp. 130–140. Springer, Heidelberg (1994).  https://doi.org/10.1007/BFb0020429CrossRefGoogle Scholar
  25. 25.
    Johnson, R.E., Schneider, F.B.: Symmetry and similarity in distributed systems. In: Malcolm, M.A., Strong, H.R. (eds.) Proceedings of the Fourth Annual ACM Symposium on Principles of Distributed Computing, Minaki, Ontario, Canada, 5–7 August 1985, pp. 13–22. ACM (1985)Google Scholar
  26. 26.
    Lamport, L.: On interprocess communication-part i: basic formalism, part ii: algorithms. Distrib. Comput. 2, 77–101 (1986)CrossRefGoogle Scholar
  27. 27.
    Yanagisawa, N.: Wait-free solvability of colorless tasks in anonymous shared-memory model. Theory Comput. Syst. 1–18 (2017).  https://doi.org/10.1007/s00224-017-9819-0

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  • Carole Delporte-Gallet
    • 1
  • Hugues Fauconnier
    • 1
  • Sergio Rajsbaum
    • 2
    Email author
  • Nayuta Yanagisawa
    • 3
  1. 1.IRIF-GANG-Université Paris-DiderotParisFrance
  2. 2.Instituto de Matemáticas, UNAMMexico CityMexico
  3. 3.Department of Mathematics, Graduate School of ScienceKyoto UniversityKyotoJapan

Personalised recommendations