TY - GEN
T1 - A simple constructive computability theorem for wait-free computation
AU - Herlihy, Maurice
AU - Shavit, Nir
N1 - Publisher Copyright:
© 1994 ACM.
PY - 1994/5/23
Y1 - 1994/5/23
N2 - In modern shared-memory multiprocessors, processes can be halted or delayed without warning by interrupts, pre-emption, or cache misses. In such environments, it is desirable to design synchronization protocols that are wait-free: Any processes that continues to run will finish the protocol in a fixed number of steps, regardless of delays or failures by other processes. Not all synchronization problems have wait-free solutions. In this paper, we give a new, remarkably simple necessary and sufficient combinatorial condition characterizing the problems that have wait-free solutions using shared read/write memory. We associate the range of possible input and output values for any synchronization problem with a high-dimensional geometric structure called a simplicial complex. We show that a synchronization problem has a wait-free solution if and only if its input complex can be continuously "stretched and folded" to cover its output complex. The key to the new theorem is a novel "simplex agreement" protocol, allowing processes to converge asynchronously to a common simplex of a simplicial complex. The proof exploits a number of classical results from algebraic and combinatorial topology.
AB - In modern shared-memory multiprocessors, processes can be halted or delayed without warning by interrupts, pre-emption, or cache misses. In such environments, it is desirable to design synchronization protocols that are wait-free: Any processes that continues to run will finish the protocol in a fixed number of steps, regardless of delays or failures by other processes. Not all synchronization problems have wait-free solutions. In this paper, we give a new, remarkably simple necessary and sufficient combinatorial condition characterizing the problems that have wait-free solutions using shared read/write memory. We associate the range of possible input and output values for any synchronization problem with a high-dimensional geometric structure called a simplicial complex. We show that a synchronization problem has a wait-free solution if and only if its input complex can be continuously "stretched and folded" to cover its output complex. The key to the new theorem is a novel "simplex agreement" protocol, allowing processes to converge asynchronously to a common simplex of a simplicial complex. The proof exploits a number of classical results from algebraic and combinatorial topology.
UR - http://www.scopus.com/inward/record.url?scp=0028062298&partnerID=8YFLogxK
U2 - 10.1145/195058.195144
DO - 10.1145/195058.195144
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:0028062298
T3 - Proceedings of the Annual ACM Symposium on Theory of Computing
SP - 243
EP - 252
BT - Proceedings of the 26th Annual ACM Symposium on Theory of Computing, STOC 1994
PB - Association for Computing Machinery
T2 - 26th Annual ACM Symposium on Theory of Computing, STOC 1994
Y2 - 23 May 1994 through 25 May 1994
ER -