当前位置: X-MOL 学术arXiv.cs.OS › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Fissile Locks
arXiv - CS - Operating Systems Pub Date : 2020-03-10 , DOI: arxiv-2003.05025
Dave Dice and Alex Kogan

Classic test-and-test (TS) mutual exclusion locks are simple, and enjoy high performance and low latency of ownership transfer under light or no contention. However, they do not scale gracefully under high contention and do not provide any admission order guarantees. Such concerns led to the development of scalable queue-based locks, such as a recent Compact NUMA-aware (CNA) lock, a variant of another popular queue-based MCS lock. CNA scales well under load and provides certain admission guarantees, but has more complicated lock handover operations than TS and incurs higher latencies at low contention. We propose Fissile locks, which capture the most desirable properties of both TS and CNA. A Fissile lock consists of two underlying locks: a TS lock, which serves as a fast path, and a CNA lock, which serves as a slow path. The key feature of Fissile locks is the ability of threads on the fast path to bypass threads enqueued on the slow path, and acquire the lock with less overhead than CNA. Bypass is bounded (by a tunable parameter) to avoid starvation and ensure long-term fairness. The result is a highly scalable NUMA-aware lock with progress guarantees that performs like TS at low contention and like CNA at high contention.

中文翻译:

易裂变锁

经典的测试与测试(TS)互斥锁简单,在轻或无争用的情况下享受高性能和低延迟的所有权转移。但是,它们在高竞争下无法正常扩展,并且不提供任何准入顺序保证。这种担忧导致了可扩展的基于队列的锁的开发,例如最近的 Compact NUMA-aware (CNA) 锁,这是另一种流行的基于队列的 MCS 锁的变体。CNA 在负载下可以很好地扩展并提供一定的准入保证,但具有比 TS 更复杂的锁切换操作,并且在低争用时会导致更高的延迟。我们提出了 Fissile 锁,它捕获了 TS 和 CNA 最理想的特性。Fissile 锁由两个底层锁组成:用作快速路径的 TS 锁和用作慢速路径的 CNA 锁。Fissile 锁的关键特性是快速路径上的线程能够绕过在慢速路径上排队的线程,并以比 CNA 更少的开销获取锁。绕过是有界的(由一个可调参数)以避免饥饿并确保长期公平。结果是一个高度可扩展的 NUMA-aware 锁,具有进度保证,在低争用时像 TS 一样执行,在高争用时像 CNA 一样执行。
更新日期:2020-05-05
down
wechat
bug