IEEE Transactions on Software Engineering
Distributed programming in Argus
Communications of the ACM
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)
Parallel algorithms with processor failures and delays
Journal of Algorithms
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
Rajdoot: A Remote Procedure Call Mechanism Supporting Orphan Detection and Killing
IEEE Transactions on Software Engineering
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
A work-optimal deterministic algorithm for the asynchronous certified write-all problem
Proceedings of the twenty-second annual symposium on Principles of distributed computing
Writing-all deterministically and optimally using a non-trivial number of asynchronous processors
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
An algorithm for the asynchronous Write-All problem based on process collision
Distributed Computing
Using adaptive timeouts to achieve at-most-once message delivery
Distributed Computing
Asynchronous perfectly secure communication over one-time pads
ICALP'05 Proceedings of the 32nd international conference on Automata, Languages and Programming
Multi-sided shared coins and randomized set-agreement
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Solving the at-most-once problem with nearly optimal effectiveness
Proceedings of the 30th annual ACM SIGACT-SIGOPS symposium on Principles of distributed computing
Solving the at-most-once problem with nearly optimal effectiveness
ICDCN'12 Proceedings of the 13th international conference on Distributed Computing and Networking
The strong at-most-once problem
DISC'12 Proceedings of the 26th international conference on Distributed Computing
Hi-index | 0.00 |
At-most-once semantics is one of the standard models for object access in decentralized systems. Accessing an object, such as altering the state of the object by means of direct access, method invocation, or remote procedure call, with at-most-once semantics guarantees that the access is not repeated more-than-once, enabling one to reason about the safety properties of the object. This paper investigates implementations of at-most-once access semantics in a model where a set of such actions is to be performed by a set of failure-prone, asynchronous shared-memory processes. We introduce a definition of the at-most-once problem for performing a set of n jobs using m processors and we introduce a notion of efficiency for such protocols, called effectiveness, used to classify algorithms. Effectiveness measures the number of jobs safely completed by an implementation, as a function of the overall number of jobs n, the number of participating processes m, and the number of process crashes f in the presence of an adversary. We prove a lower bound of n - f on the effectiveness of any algorithm. We then prove that this lower bound can be matched in the two process setting by presenting two algorithms that offer a tradeoff between time and space complexity. Finally, we generalize our two-process solution in the multi-process setting with a hierarchical algorithm that achieves effectiveness of n - logmċo(n), coming reasonably close, asymptotically, to the corresponding lower bound.