Abstract

In this chapter, we consider various synchronization primitives that a multiprocessor system might provide, and evaluate their relative power. In particular, we compare synchronization primitives by their ability to solve consensus, an elementary synchronization problem. The consensus number of a synchronization primitive is the maximum number of threads for which consensus can be achieved using that primitive. We show that different synchronization primitives have different consensus numbers. Read–write registers have consensus number 1: we cannot achieve consensus for even two threads using only read–write registers. Many common synchronization primitives, including queues, stacks, and some read–modify–write operations such as test-and-set have consensus number 2. An operation that can write n registers atomically has consensus number n. Finally, the compare-and-swap operation has an infinite consensus number.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.