Towards An Ideal Queue Lock

PROCEEDINGS OF THE 21ST INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING AND NETWORKING (ICDCN 2020)(2020)

引用 5|浏览23
暂无评分
摘要
The MCS lock was the first mutual exclusion lock to support an arbitrary number of processes with unknown identities such that each process can acquire and release the lock in a constant number of RMRs on both Cache-Coherent and Distributed Shared Memory multiprocessors. The MCS algorithm, however, has a shortcoming: its Exit section is not bounded. The algorithm also requires hardware support for more than one special instruction, namely, Fetch&Store and Compare&Swap.Many MCS-style algorithms were subsequently designed to overcome these shortcomings, but to the best of our knowledge they either lack some desirable property of the MCS lock or introduce a new shortcoming. In this paper we present a new MCS-style algorithm that has all of the desirable properties and no ostensible shortcoming. We also provide a rigorous, invariant-based proof of correctness.To realize a bounded Exit section, all prior MCS-style algorithms use either the "node-switching" or the "node-toggling" strategy. Our work unifies these two strategies: we present a single algorithm which, when appropriately instantiated, yields both a node-switching and a node-toggling algorithm. Moreover, the two algorithms so derived are the simplest in their respective classes among all known MCS-style algorithms.
更多
查看译文
关键词
mutual exclusion, concurrent algorithm, queue lock, distributed computing, RMR
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要