TY - GEN
T1 - A methodology for creating fast wait-free data structures
AU - Kogan, Alex
AU - Petrank, Erez
PY - 2012
Y1 - 2012
N2 - Lock-freedom is a progress guarantee that ensures overall program Progress. Wait-freedom is a stronger progress guarantee that en- sores the progress of each thread in the program. While many park- tidal lock-free algorithms exist, wait-free algorithms are typically inefficient and hardly used in practice. In this paper, we propose a methodology called fast-path-slow-path for creating efficient wait- free algorithms. The idea is to execute the efficient lock-free ver.- soon most of the time and revert to the wait-free version only when things go wrong. The generality and effectiveness of this method- logy is demonstrated by two examples. In this paper, we apply this idea to a recent construction of a wait-free queue, bringing the wait-free implementation to perform in practice as efficient as the lock-free implementation. In another work, the fast-path-slow-path methodology has been used for (dramatically) improving the per- romance of a wait-free linked-list.
AB - Lock-freedom is a progress guarantee that ensures overall program Progress. Wait-freedom is a stronger progress guarantee that en- sores the progress of each thread in the program. While many park- tidal lock-free algorithms exist, wait-free algorithms are typically inefficient and hardly used in practice. In this paper, we propose a methodology called fast-path-slow-path for creating efficient wait- free algorithms. The idea is to execute the efficient lock-free ver.- soon most of the time and revert to the wait-free version only when things go wrong. The generality and effectiveness of this method- logy is demonstrated by two examples. In this paper, we apply this idea to a recent construction of a wait-free queue, bringing the wait-free implementation to perform in practice as efficient as the lock-free implementation. In another work, the fast-path-slow-path methodology has been used for (dramatically) improving the per- romance of a wait-free linked-list.
KW - Concurrent data structures
KW - Lock-free algorithms
KW - Non-blocking synchronization
KW - Wait-free queues
UR - http://www.scopus.com/inward/record.url?scp=84858401058&partnerID=8YFLogxK
U2 - 10.1145/2145816.2145835
DO - 10.1145/2145816.2145835
M3 - منشور من مؤتمر
SN - 9781450311601
T3 - Proceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP
SP - 141
EP - 150
BT - PPoPP'12 - Proceedings of the 2012 ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming
T2 - 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP'12
Y2 - 25 February 2012 through 29 February 2012
ER -