IEEE Transactions on Software Engineering
Distributed programming in Argus
Communications of the ACM
Renaming in an asynchronous environment
Journal of the ACM (JACM)
ACM Transactions on Programming Languages and Systems (TOPLAS)
Efficient at-most-once messages based on synchronized clocks
ACM Transactions on Computer Systems (TOCS)
Impossibility of distributed consensus with one faulty process
Journal of the ACM (JACM)
Algorithms for the Certified Write-All Problem
SIAM Journal on Computing
ACM Transactions on Computer Systems (TOCS)
Implementing remote procedure calls
ACM Transactions on Computer Systems (TOCS)
Performing remote operations efficiently on a local computer network
Communications of the ACM
Distributed Algorithms
Fault-Tolerant Parallel Computation
Fault-Tolerant Parallel Computation
Correctness of At-Most-Once Message Delivery Protocols
FORTE '93 Proceedings of the IFIP TC6/WG6.1 Sixth International Conference on Formal Description Techniques, VI
An algorithm for the asynchronous Write-All problem based on process collision
Distributed Computing
Cooperative asynchronous update of shared memory
Proceedings of the thirty-seventh annual ACM symposium on Theory of computing
Using adaptive timeouts to achieve at-most-once message delivery
Distributed Computing
Writing-all deterministically and optimally using a nontrivial number of asynchronous processors
ACM Transactions on Algorithms (TALG)
Multi-sided shared coins and randomized set-agreement
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
At-most-once semantics in asynchronous shared memory
DISC'09 Proceedings of the 23rd international conference on Distributed computing
Asynchronous perfectly secure communication over one-time pads
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
The strong at-most-once problem
DISC'12 Proceedings of the 26th international conference on Distributed Computing
Hi-index | 0.00 |
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 tasks at most once. Our algorithmic strategy provides for the first time nearly optimal effectiveness, which is a measure that expresses the total number of tasks 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 iterated version of our algorithm that for any $m = \mathrm{O}(\sqrt[3+\epsilon]{n/\log n})$ 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=\mathrm{O}(\sqrt[3+\epsilon]{n/\log n})$ .