Tractable low-delay atomic memory
No Thumbnail Available
Communication cost is the most commonly used metric in assessing the efficiency of operations in distributed algorithms for message-passing environments. In doing so, the standing assumption is that the cost of local computation is negligible compared to the cost of communication. However, in many cases, operation implementations rely on complex computations that should not be ignored. Therefore, a more accurate assessment of operation efficiency should account for both computation and communication costs. This paper focuses on the efficiency of read and write operations in emulations of atomic read/write shared memory in the asynchronous, message-passing, crash-prone environment. The much celebrated work by Dutta et al. presented an implementation in this setting where all read and write operations could complete in just a single communication round-trip. Such operations where characterized for the first time as fast. At its heart, the work by Dutta et al. used a predicate to achieve that performance. We show that the predicate is computationally intractable by defining an equivalent problem and reducing it to Maximum Biclique, a known NP-hard problem. We derive a new, computationally tractable predicate, and an algorithm to compute it in linear time. The proposed predicate is used to develop three algorithms: CCFAST, CCHYBRID, and OHFAST. CCFAST is similar to the algorithm of Dutta et al. with the main difference being the use of the new predicate for reduced computational complexity. All operations in CCFAST are fast, and particular constraints apply in the number of participants. CCHYBRID and OHFAST, allow some operations to be “slow”, enabling unbounded participants in the service. CCHYBRID is a “multi-speed” version of CCFAST, where the reader determines when it is not safe to complete a read operation in a single communication round-trip. OHFAST, expedites algorithm OHSAM of Hadjistasi et al. by placing the developed predicate at the servers instead of clients and avoiding excessive server communication when possible. An experimental evaluation using NS3 compares algorithms CCHYBRID and OHFAST to the classic algorithm ABD of Attiya et al., the algorithm SF of Georgiou et al. (the first “semifast” algorithm, allowing both fast and slow operations), and algorithm OHSAM. In summary, this work gives the new meaning to the term fast by assessing both the communication and the computation efficiency of each operation.