Article thumbnail

Making "Fast" Atomic Operations Computationally Tractable

By , Nicolas Nicolaou and Alexandru Popa

Abstract

Communication overhead is the most commonly used performance metric for the operation complexity of distributed algorithms in message-passing environments. However, aside with communication, many distributed operations utilize complex computations to reach their desired outcomes. Therefore, a most accurate operation latency measure should account of both computation and communication metrics. In this paper we focus on the efficiency of read and write operations in an atomic read/write shared memory emulation in the message-passing environment. We examine the operation complexity of the best known atomic register algorithm, that allows all read and write operations to complete in a single communication round-trip. Such operations are called fast. At its heart, the algorithm utilizes a predicate to allow processes to compute their outcome. We show that the predicate used is computationally hard, by devising a computationally equivalent problem and reducing that to Maximum Biclique, a known NP-hard problem. To improve the computational complexity of the algorithm we derive a new predicate that leads to a new algorithm, we call ccFast, and has the following properties: (i) can be computed in polynomial time, rendering each read operation in ccFast tractable compared to the read operations in the original algorithm, (ii) the messages used in ccFast are reduced in size, compared to the original algorithm, by almost a linear factor, (iii) allows all operations in ccFast to be fast, and (iv) allows ccFast to preserve atomicity. A linear time}algorithm for the computation of the new predicate is presented along with an analysis of the message complexity of the new algorithm. We believe that the new algorithm redefines the term fast capturing both the communication and the computation metrics of each operation

Topics: atomicity, read/write objects, shared memory, computational complexity, Data processing Computer science
Publisher: LIPIcs - Leibniz International Proceedings in Informatics. 19th International Conference on Principles of Distributed Systems (OPODIS 2015)
Year: 2016
DOI identifier: 10.4230/LIPIcs.OPODIS.2015.19
OAI identifier: oai:drops-oai.dagstuhl.de:6610

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.

Suggested articles