Journal of the Association for Computing Machinery, Vol. 43, No. 4, July 1996, pp. 723–746.

How to Share Concurrent Wait-Free Variables

MING LI

JOHN TROMP

AND

PAUL M. B. VITÁNYI

Abstract. Sharing data between multiple asynchronous users—each of which can atomically read and write the data—is a feature that may help to increase the amount of parallelism in distributed systems. An algorithm implementing this feature is presented. The main construction of an n-user atomic variable directly from single-writer, singlereader atomic variables uses O(n) control bits and O(n) accesses per Read/Write running in O(1) parallel time.

Categories and Subject Descriptors. B.3.2 [Memory Structures]: Design Styles; B.4.3 [Input/Output and Data Communications]: Interconnections (subsystems); D.4.1 [Operating Systems]: Process Management; D.4.4 [Operating Systems]: Communications Management

General Terms. Management

Additional Key words and Phrases. Atomicity, concurrent reading and writing, multi-writer, shared variable (register)

Copyright 1996 by ACM, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or direct commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or permissions@acm.org.