How to construct shared data objects is a fundamental issue in asynchronous concurrent systems, since these objects provide the means for communication and synchronization between processes in these systems. Constructions which guarantee that concurrent access to the shared object by processes is free from waiting are of particular interest, since they may help to increase the amount of parallelism in such systems. The problem of constructing a k-valued wait-free shared register out of binary subregisters of the same type where each write access consists of one subwrite (constructions with one-write) has received some attention, since it lies at the heart of studying lower bounds of the complexities of register constructions and trade-offs between them. The first such construction was for the safe register case which uses k binary safe registers and exploits the properties of a rainbow coloring function of a hypercube. The best known construction for the regular/atomic case uses (formula presented) binary regular/atomic registers. In this work we show how the rainbow coloring function can be extended to simulate a handshaking mechanism between the reader and the writer of the register, thus offering a solution for the atomic register case with one reader, which uses only 3k-2 binary registers. The lower bound for such a construction is k−1.

Lecture Notes in Computer Science/Lecture Notes in Artificial Intelligence
International Symposium on Mathematical Foundations of Computer Science
Centrum Wiskunde & Informatica, Amsterdam (CWI), The Netherlands

Papatriantafilou, M, & Tsigas, P. (1994). How a rainbow coloring function can simulate wait-free handshaking. In Lecture Notes in Computer Science/Lecture Notes in Artificial Intelligence.