The Art of Multiprocessor Programming
The Art of Multiprocessor Programming
Hi-index | 0.00 |
We present a nonblocking algorithm for implementing single-writer multireader atomic registers of arbitrary size given registers only large enough to hold a single word. The algorithm has several properties that make it practical: It is simple and has low memory overhead, readers do not write, write operations are wait-free, and read operations are almost wait-free. Specifically, to implement a register with w words, the algorithm uses N (w + O (1)) words, where N is a parameter of the algorithm. Write operations take amortized O (w ) and worst-case O (Nw ) steps, and a read operation completes in O (w (log(k + 2) + Nk ·2*** N )) steps, where k is the number of write operations it overlaps.