This section is an excerpt from Consensus (computer science) § Consensus number.[edit]
To solve the consensus problem in a shared-memory system, concurrent objects must be introduced. A concurrent object, or shared object, is a data structure which helps concurrent processes communicate to reach an agreement. Traditional implementations using critical sections face the risk of crashing if some process dies inside the critical section or sleeps for an intolerably long time. Researchers defined wait-freedom as the guarantee that the algorithm completes in a finite number of steps.
The consensus number of a concurrent object is defined to be the maximum number of processes in the system which can reach consensus by the given object in a wait-free implementation.3 Objects with a consensus number of n {\displaystyle n} can implement any object with a consensus number of n {\displaystyle n} or lower, but cannot implement any objects with a higher consensus number. The consensus numbers form what is called Herlihy's hierarchy of synchronization objects.4
Massmind: "The read–modify–write problem" http://techref.massmind.org/techref/readmodwrite.htm ↩
"Basic RAID Organizations". umass.edu. Archived from the original on 2021-02-24. Retrieved 2013-10-04. https://web.archive.org/web/20210224160746/http://www.ecs.umass.edu/ece/koren/architecture/Raid/basicRAID.html ↩
Herlihy, Maurice (January 1991). "Wait-Free Synchronization" (PDF). ACM Transactions on Programming Languages and Systems. 11 (1): 124–149. doi:10.1145/114005.102808. S2CID 2181446. Archived (PDF) from the original on 5 June 2011. Retrieved 19 December 2011. http://www.cs.brown.edu/~mph/Herlihy91/p124-herlihy.pdf ↩
Imbs, Damien; Raynal, Michel (25 July 2010). "The multiplicative power of consensus numbers" (PDF). Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing. Association for Computing Machinery. pp. 26–35. doi:10.1145/1835698.1835705. ISBN 978-1-60558-888-9. S2CID 3179361. Archived (PDF) from the original on 27 January 2022. Retrieved 22 April 2021. 978-1-60558-888-9 ↩
Fich, Faith; Hendler, Danny; Shavit, Nir (25 July 2004). "On the inherent weakness of conditional synchronization primitives". Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing. Association for Computing Machinery. pp. 80–87. CiteSeerX 10.1.1.96.9340. doi:10.1145/1011767.1011780. ISBN 1-58113-802-4. S2CID 9313205. 1-58113-802-4 ↩