#### Date of Completion

5-5-2014

#### Embargo Period

11-1-2014

#### Keywords

At-Most-Once Problem, Write-All, Distributed Computing, Asynchronous Shared Memory

#### Major Advisor

Aggelos Kiayias

#### Associate Advisor

Alexander Russell

#### Associate Advisor

Alexander Shvartsman

#### Associate Advisor

Juan Garay

#### Field of Study

Computer Science and Engineering

#### Degree

Doctor of Philosophy

#### Open Access

Open Access

#### Abstract

We introduce the at-most-once and strong at-most-once problems in the asynchronous shared memory model. The *at-most-once* problem requires that a set of *n* jobs is performed using *m* fail-prone processors, while maintaining at-most-once semantics. The *strong at-most-once* problem, imposes the additional restriction, that if no participating processors fail, all jobs must be performed. We rigorously define the problems and performance metrics, show upper bounds and impossibility results and provide deterministic and randomized solutions.

The at-most-once semantic is one of the standard safety guarantees for object access in decentralized systems. We investigate implementations of at-most-once access semantics in a model where a set of actions is to be performed by a set of failure-prone, asynchronous shared-memory processes. We formally introduce the *at-most-once* problem for performing a set of *n* jobs using *m* processors. We also introduce a notion of efficiency for at-most-once protocols, called *effectiveness*, used to classify algorithms. Effectiveness measures the number of jobs safely completed by an implementation. We prove an upper bound of *n-f* on the effectiveness of any algorithm, where *f* the number of process crashes in the presence of an adversary.

We explore the feasibility of a strong effectiveness version of the at-most-once problem. The *strong at-most-once problem* is solved by an at-most-once algorithm when all tasks are performed, if no participating processes fail during the execution of the algorithm. We formally define the problem and prove that the strong at-most-once problem has consensus number 2, hence there exist no wait-free deterministic solutions for the problem in asynchronous shared memory, using atomic read/write registers.

We prove that the upper bound on effectiveness of *n-f* can be matched asymptotically in the two process setting. We then generalize our two-process solution in the multi-process setting with a hierarchical algorithm that achieves effectiveness of *n-log m o(n)*. Moreover, we present and analyze a wait-free deterministic algorithm for the at-most-once problem, that provides for the first time nearly optimal effectiveness for the multi-process setting.

Finally we present the first randomized solution for the strong at-most-once problem. The solution is work optimal in expectation for a non-trivial number of participating processes. We also present an adaptive randomized solution for the Write-All problem. Our solution has high probability work that is linear plus some additive term that only depends on the number of participating processes *k* and not the size of the problem *n* or the total number of processes *m*.

#### Recommended Citation

Kentros, Sotirios, "The At-Most-Once Problem: Definitions, Solutions and Impossibility Results" (2014). *Doctoral Dissertations*. 347.

https://opencommons.uconn.edu/dissertations/347