Solving the at-most-once problem with nearly optimal effectiveness

We present and analyze a wait-free deterministic algorithm for solving the at-most-once problem: how m shared-memory fail-prone processes perform asynchronously n jobs at most once. Our algorithmic strategy provides for the first time nearly optimal effectiveness, which is a measure that expresses the total number of jobs completed in the worst case. The effectiveness of our algorithm equals n−2m+2. This is up to an additive factor of m close to the known effectiveness upper bound n−m+1 over all possible algorithms and improves on the previously best known deterministic solutions that have effectiveness only n−logm⋅o(n). We also present an iterative version of our algorithm that for any m=O(n/logn3+ϵ) is both effectiveness-optimal and work-optimal, for any constant ϵ>0. We then employ this algorithm to provide a new algorithmic solution for the Write-All problem which is work optimal for any m=O(n/logn3+ϵ).

[1]  Alfred Z. Spector,et al.  Performing remote operations efficiently on a local computer network , 1981, SOSP.

[2]  Aggelos Kiayias,et al.  At-Most-Once Semantics in Asynchronous Shared Memory , 2009, DISC.

[3]  Liuba Shrira,et al.  Efficient at-most-once messages based on synchronized clocks , 1989, Proceedings of the Second Workshop on Workstation Operating Systems.

[4]  Dariusz R. Kowalski,et al.  Explicit Combinatorial Structures for Cooperative Distributed Algorithms , 2005, 25th IEEE International Conference on Distributed Computing Systems (ICDCS'05).

[5]  Chryssis Georgiou,et al.  Do-All Computing in Distributed Systems: Cooperation in the Presence of Adversity , 2007 .

[6]  Nancy A. Lynch,et al.  Modelling shared state in a shared action model , 1990, [1990] Proceedings. Fifth Annual IEEE Symposium on Logic in Computer Science.

[7]  Richard J. Anderson,et al.  Algorithms for the Certified Write-All Problem , 1997, SIAM J. Comput..

[8]  László Lovász,et al.  Semi-matchings for bipartite graphs and load balancing , 2006, J. Algorithms.

[9]  Hagit Attiya,et al.  Renaming in an asynchronous environment , 1990, JACM.

[10]  Kwei-Jay Lin,et al.  Atomic Remote Procedure Call , 1985, IEEE Transactions on Software Engineering.

[11]  Alexander A. Shvartsman,et al.  Fault-Tolerant Parallel Computation , 1997 .

[12]  Richard W. Watson,et al.  The Delta-t transport protocol: features and experience , 1989, [1989] Proceedings. 14th Conference on Local Computer Networks.

[13]  Yehuda Afek,et al.  A completeness theorem for a class of synchronization objects , 1993, PODC '93.

[14]  Maurice Herlihy,et al.  Wait-free synchronization , 1991, TOPL.

[15]  Dariusz R. Kowalski,et al.  Cooperative asynchronous update of shared memory , 2005, STOC '05.

[16]  Keren Censor-Hillel Multi-sided shared coins and randomized set-agreement , 2010, SPAA '10.

[17]  Barbara Liskov,et al.  Distributed programming in Argus , 1988, CACM.

[18]  Chryssis Georgiou,et al.  Cooperative Task-Oriented Computing: Algorithms and Complexity , 2011, Synthesis Lectures on Distributed Computing Theory.

[19]  Nancy A. Lynch,et al.  Correctness of At-Most-Once Message Delivery Protocols , 1993, FORTE.

[20]  Andrzej Czygrinow,et al.  Distributed 2-Approximation Algorithm for the Semi-matching Problem , 2012, DISC.

[21]  Aggelos Kiayias,et al.  The Strong At-Most-Once Problem , 2012, DISC.

[22]  Andrew Birrell,et al.  Implementing Remote procedure calls , 1983, SOSP '83.

[23]  Grzegorz Malewicz,et al.  A Work-Optimal Deterministic Algorithm for the Certified Write-All Problem with a Nontrivial Number of Asynchronous Processors , 2005, SIAM J. Comput..

[24]  Dan Alistarh,et al.  How to Allocate Tasks Asynchronously , 2012, 2012 IEEE 53rd Annual Symposium on Foundations of Computer Science.

[25]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[26]  Aggelos Kiayias,et al.  Asynchronous Perfectly Secure Communication over One-Time Pads , 2005, ICALP.

[27]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[28]  Jesper Buus Nielsen,et al.  How to Share a Key , 2007 .

[29]  Rudolf Bayer,et al.  Symmetric binary B-Trees: Data structure and maintenance algorithms , 1972, Acta Informatica.

[30]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[31]  Aggelos Kiayias,et al.  Solving the At-Most-Once Problem with Nearly Optimal Effectiveness , 2012, ICDCN.

[32]  Jan Friso Groote,et al.  An algorithm for the asynchronous Write-All problem based on process collision , 2001, Distributed Computing.

[33]  Leonidas J. Guibas,et al.  A dichromatic framework for balanced trees , 1978, 19th Annual Symposium on Foundations of Computer Science (sfcs 1978).

[34]  Dariusz R. Kowalski,et al.  Writing-all deterministically and optimally using a nontrivial number of asynchronous processors , 2008, ACM Trans. Algorithms.

[35]  Bostjan Bresar,et al.  A generalization of Hungarian method and Hall's theorem with applications in wireless sensor networks , 2009, Discret. Appl. Math..

[36]  Fabian Kuhn,et al.  The communication complexity of distributed task allocation , 2012, PODC '12.

[37]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[38]  Brian A. Coan,et al.  Using adaptive timeouts to achieve at-most-once message delivery , 2009, Distributed Computing.