Can someone provide me with some link and/or references to published research about the state-of-the-art implementation in single-core/multi-core machines of what in distributed systems is called an Atomic Register, i.e. a shared memory area that can be read by one or more reader threads and written by one or more writer threads in a way such that the resulting execution is serializable and each read operation returns the last written value?

This can obviously be realized using a lock/semaphore; I am interested in a wait-free implementation (e.g. using compare-and-swap, fetch-and-add and/or similar atomic primitives available in modern processors).

Similar questions and discussions