How to share concurrent wait-free variables

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 <italic>n</italic>-user atomic variable directly from single-writer, single-reader atomic variables uses <italic>O(n)</italic> control bits and <italic>O(n)</italic> accesses per Read/Write running in <italic>O(1)</italic> parallel time.

[1]  Ambuj K. Singh,et al.  The elusive atomic register , 1994, JACM.

[2]  Ming Li,et al.  A very simple construction for atomic multiwriter register , 1987 .

[3]  John Tromp How to Construct an Atomic Variable (Extended Abstract) , 1989, WDAG.

[4]  Nancy A. Lynch,et al.  Forward and Backward Simulations: I. Untimed Systems , 1995, Inf. Comput..

[5]  Gary L. Peterson,et al.  Concurrent reading while writing II: The multi-writer case , 1987, 28th Annual Symposium on Foundations of Computer Science (sfcs 1987).

[6]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[7]  Amos Israeli,et al.  Optimal multi-writer multi-reader atomic register , 1992, PODC '92.

[8]  Nancy A. Lynch,et al.  Concurrent Timestamping Made Simple , 1992, ISTCS.

[9]  Cynthia Dwork,et al.  Simple and efficient bounded concurrent timestamping or bounded concurrent timestamp systems are comprehensible! , 1992, STOC '92.

[10]  Richard E. Newman A Protocol for Wait-Free, Atomic, Multi-Reader Shared Variables , 1987, PODC.

[11]  Gary L. Peterson,et al.  Constructing multi-reader atomic values from non-atomic values , 1987, PODC '87.

[12]  Gary L. Peterson,et al.  Concurrent Reading While Writing , 1983, TOPL.

[13]  Maurice Herlihy,et al.  Linearizability: a correctness condition for concurrent objects , 1990, TOPL.

[14]  Amos Israeli,et al.  A Concurrent Time-Stamp Scheme which is Linear in Time and Space , 1992, WDAG.

[15]  Ming Li,et al.  Optimality of Wait-Free Atomic Multiwriter Variables , 1992, Inf. Process. Lett..

[16]  James H. Anderson,et al.  Composite registers , 1990, PODC '90.

[17]  Krishnamurthy Vidyasankar,et al.  Constructing 1-writer multireader multivalued atomic variables from regular variables , 1995, JACM.

[18]  Baruch Awerbuch,et al.  Atomic shared register access by asynchronous hardware , 1986, 27th Annual Symposium on Foundations of Computer Science (sfcs 1986).

[19]  Bard Bloom,et al.  Constructing two-writer atomic registers , 1987, PODC '87.

[20]  Krishnamurthy Vidyasankar,et al.  Counterexamples to a one writer multireader atomic variable construction of Burns and Peterson , 1992, OPSR.

[21]  Maurice Herlihy,et al.  Impossibility and universality results for wait-free synchronization , 1988, PODC '88.

[22]  Nir Shavit,et al.  Bounded concurrrent time-stamp systems are constructible , 1989, STOC '89.

[23]  Russel Schaffer,et al.  On the correctness of atomic multi-writer registers , 1988 .

[24]  F. Vaandrager Forward and Backward Simulations Part I : Untimed Systems , 1993 .

[25]  Krishnamurthy Vidyasankar Converting Lamport's Regular Register to Atomic Register , 1988, Inf. Process. Lett..

[26]  Maurice Herlihy,et al.  Time-Lapse Snapshots , 1992, SIAM J. Comput..

[27]  John Tromp,et al.  How to construct an atomic variable , 1989 .

[28]  Nancy A. Lynch,et al.  Forward and Backward Simulations, II: Timing-Based Systems , 1996, Inf. Comput..

[29]  LiMing,et al.  How to share concurrent wait-free variables , 1996 .

[30]  Evangelos Kranakis,et al.  Atomic Multireader Register , 1987, WDAG.

[31]  Nir Shavit,et al.  Bounded Concurrent Time-Stamping , 1997, SIAM J. Comput..

[32]  Paul M. B. Vitányi,et al.  How to Share Concurrent Asynchronous Wait-Free Varaibles (Preliminary Version) , 1989, ICALP.

[33]  Baruch Awerbuch,et al.  A Proof Technique for Register Automicity , 1988, FSTTCS.