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)


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.


Shared memory Anonymous processes Wait-free 


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

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