The Strong At-Most-Once Problem

  • Sotirios Kentros
  • Chadi Kari
  • Aggelos Kiayias
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7611)


The at-most-once problem in shared memory asks for the completion of a number of tasks by a set of independent processors while adhering to “at most once” semantics. At-most-once algorithms are evaluated in terms of effectiveness, which is a measure that expresses the total number of tasks completed at-most-once in the worst case. Motivated by the lack of deterministic solutions with high effectiveness, we study the feasibility of (a close variant of) this problem. The strong at most once problem is solved by an at-most-one algorithm when all tasks are performed if no participating processes crash during the execution of the algorithm. We prove that the strong at-most-once problem has consensus number 2. This explains, via impossibility, the lack of wait-free deterministic solutions with high effectiveness for the at most once problem using only read/write atomic registers. We then present the first k-adaptive effectiveness optimal randomized solution for the strong at-most-once problem, that has optimal expected work for a non-trivial number of participating processes. Our solution also provides the first k-adaptive randomized solution for the Write-All problem, a dual problem to at-most-once.


Deterministic Algorithm Message Delivery Deterministic Solution Consensus Protocol Work Complexity 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Afek, Y., Gafni, E., Morrison, A.: Common2 extended to stacks and unbounded concurrency. In: PODC, pp. 218–227. ACM (2006)Google Scholar
  2. 2.
    Afek, Y., Weisberger, E., Weisman, H.: A completeness theorem for a class of synchronization objects. In: PODC, pp. 159–170. ACM (1993)Google Scholar
  3. 3.
    Alistarh, D., Attiya, H., Gilbert, S., Giurgiu, A., Guerraoui, R.: Fast Randomized Test-and-Set and Renaming. In: Lynch, N.A., Shvartsman, A.A. (eds.) DISC 2010. LNCS, vol. 6343, pp. 94–108. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  4. 4.
    Anderson, R.J., Woll, H.: Algorithms for the certified write-all problem. SIAM J. Computing 26(5), 1277–1283 (1997)MathSciNetzbMATHCrossRefGoogle Scholar
  5. 5.
    Attiya, H., Bar-Noy, A., Dolev, D., Peleg, D., Reischuk, R.: Renaming in an asynchronous environment. J. ACM 37(3), 524–548 (1990)MathSciNetzbMATHCrossRefGoogle Scholar
  6. 6.
    Birrell, A.D., Nelson, B.J.: Implementing remote procedure calls. ACM Trans. Comput. Syst. 2(1), 39–59 (1984)CrossRefGoogle Scholar
  7. 7.
    Chaudhuri, S., Coan, B.A., Welch, J.L.: Using adaptive timeouts to achieve at-most-once message delivery. Distrib. Comput. 9(3), 109–117 (1995)CrossRefGoogle Scholar
  8. 8.
    Chlebus, B.S., Kowalski, D.R.: Cooperative asynchronous update of shared memory. In: STOC, pp. 733–739 (2005)Google Scholar
  9. 9.
    Di Crescenzo, G., Kiayias, A.: Asynchronous Perfectly Secure Communication over One-Time Pads. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds.) ICALP 2005. LNCS, vol. 3580, pp. 216–227. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  10. 10.
    Drucker, A., Kuhn, F., Oshman, R.: The communication complexity of distributed task allocation. In: PODC, pp. 67–76. ACM (2012)Google Scholar
  11. 11.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)MathSciNetzbMATHCrossRefGoogle Scholar
  12. 12.
    Fitzi, M., Nielsen, J.B., Wolf, S.: How to share a key. In: Allerton Conference on Communication, Control, and Computing (2007)Google Scholar
  13. 13.
    Groote, J., Hesselink, W., Mauw, S., Vermeulen, R.: An algorithm for the asynchronous write-all problem based on process collision. Distributed Computing 14(2), 75–81 (2001)CrossRefGoogle Scholar
  14. 14.
    Herlihy, M.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 13, 124–149 (1991)CrossRefGoogle Scholar
  15. 15.
    Hillel, K.C.: Multi-sided shared coins and randomized set-agreement. In: Proc. of the 22nd ACM Symp. on Parallel Algorithms and Architectures (SPAA 2010), pp. 60–68 (2010)Google Scholar
  16. 16.
    Kanellakis, P.C., Shvartsman, A.A.: Fault-Tolerant Parallel Computaion. Kluwer Academic Publishers (1997)Google Scholar
  17. 17.
    Kentros, S., Kiayias, A.: Solving the At-Most-Once Problem with Nearly Optimal Effectiveness. In: Bononi, L., Datta, A.K., Devismes, S., Misra, A. (eds.) ICDCN 2012. LNCS, vol. 7129, pp. 122–137. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  18. 18.
    Kentros, S., Kiayias, A., Nicolaou, N., Shvartsman, A.A.: At-Most-Once Semantics in Asynchronous Shared Memory. In: Keidar, I. (ed.) DISC 2009. LNCS, vol. 5805, pp. 258–273. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  19. 19.
    Kowalski, D.R., Shvartsman, A.A.: Writing-all deterministically and optimally using a nontrivial number of asynchronous processors. ACM Transactions on Algorithms 4(3) (2008)Google Scholar
  20. 20.
    Lamport, L.: The part-time parliament. ACM Trans. Comput. Syst. 16(2), 133–169 (1998)CrossRefGoogle Scholar
  21. 21.
    Lampson, B.W., Lynch, N.A., S-Andersen, J.F.: Correctness of at-most-once message delivery protocols. In: FORTE, pp. 385–400 (1993)Google Scholar
  22. 22.
    Lin, K.-J., Gannon, J.D.: Atomic remote procedure call. IEEE Trans. Softw. Eng. 11(10), 1126–1135 (1985)CrossRefGoogle Scholar
  23. 23.
    Liskov, B., Shrira, L., Wroclawski, J.: Efficient at-most-once messages based on synchronized clocks. ACM Trans. Comput. Syst. 9(2), 125–142 (1991)CrossRefGoogle Scholar
  24. 24.
    Lynch, N.A.: Distributed Algorithms. Morgan Kaufmann Publishers (1996)Google Scholar
  25. 25.
    Malewicz, G.: A work-optimal deterministic algorithm for the certified write-all problem with a nontrivial number of asynchronous processors. SIAM J. Comput. 34(4), 993–1024 (2005)MathSciNetzbMATHCrossRefGoogle Scholar
  26. 26.
    Martel, C., Subramonian, R.: On the complexity of certified write-all algorithms. J. Algorithms 16, 361–387 (1994)MathSciNetzbMATHCrossRefGoogle Scholar
  27. 27.
    Merritt, M., Taubenfeld, G.: Computing with Infinitely Many Processes. In: Herlihy, M.P. (ed.) DISC 2000. LNCS, vol. 1914, pp. 164–178. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  28. 28.
    Spector, A.Z.: Performing remote operations efficiently on a local computer network. Commun. ACM 25(4), 246–260 (1982)MathSciNetCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Sotirios Kentros
    • 1
  • Chadi Kari
    • 2
  • Aggelos Kiayias
    • 1
  1. 1.Computer Science and EngineeringUniversity of ConnecticutStorrsUSA
  2. 2.Computer ScienceBridgewater State UniversityBridgewaterUSA

Personalised recommendations