A Wait-free Multi-word Atomic (1, N) Register for Large-scale Data Sharing on Multi-core Machines

Mauro Ianni, Alessandro Pellegrini, and Francesco Quaglia

pdf Download PDF

We present a multi-word atomic (1,N) register for multi-core machines exploiting Read-Modify-Write (RMW) instructions to coordinate the writer and the readers in a wait-free manner. Our proposal, called Anonymous Readers Counting (ARC), enables large-scale data sharing by admitting up to 2^32-2 concurrent readers on off-the-shelf 64-bits machines, as opposed to the most advanced RMW-based approach which is limited to 58 readers. Further, ARC avoids multiple copies of the register content when accessing it—this affects classical register’s algorithms based on atomic read/write operations on single words. Thus it allows for higher scalability with respect to the register size. Moreover, ARC explicitly reduces improves performance via a proper limitation of RMW instructions in case of read operations, and by supporting constant time for read operations and amortized constant time for write operations. A proof of correctness of our register algorithm is also provided, together with experimental data for a comparison with literature proposals. Beyond assessing ARC on physical platforms, we carry out as well an experimentation on virtualized infrastructures, which shows the resilience of wait-free synchronization as provided by ARC with respect to CPU-steal times, proper of more modern paradigms such as cloud computing.

BibTeX Entry:

author = {Ianni, Mauro and Pellegrini, Alessandro and Quaglia, Francesco},
institution = {CoRR},
title = {A Wait-free Multi-word Atomic (1, N) Register for Large-scale Data Sharing on Multi-core Machines},
year = {2017},
archiveprefix = {arXiv},
eprint = {1707.07478},
journal = {CoRR},
url = {http://arxiv.org/abs/1707.07478},
volume = {abs/1707.07478}