Speculative Locks: Concurrent Execution of Critical Sections in Shared-Memory Multiprocessors*
Speculative Locks: Concurrent Execution of Critical Sections in Shared-Memory Multiprocessors*
复制标题
推测锁:共享内存多处理器中关键部分的并发执行*
DOI:
--
复制
发表时间:
2004
期刊:
影响因子:
--
通讯作者:
J. Torrellas
中科院分区:
文献类型:
--
作者:
José F. Martínez;J. Torrellas
Multithreaded applications typically use coarse- or fine-grain locks to enforce synchronization when needed. While fine-grain synchronization enables higher concurrency, it often involves significantly more programming effort than coarsegrain synchronization. To address this trade-off, this chapter proposes speculative locks. In speculative locks, threads access a critical section without synchronizing while the underlying hardware monitors for conflicting accesses. If a conflict is detected, threads are rolled back and restarted on the fly. Forward progress in an active lock is guaranteed by the presence of a nonspeculative lock owner at all times, and all in-order conflicts between owner and speculative threads are tolerated. Overall, speculative locks allow the programmability of coarse-grain synchronization, while enabling the concurrency of fine-grain synchronization.