Efficient Abortable-locking Protocol for Multi-level NUMA Systems: Design and Correctness

被引:2
作者
Chabbi, Milind [1 ]
Amer, Abdelhalim
Liu, Xu [2 ]
机构
[1] Scalable Machines Res, San Francisco, CA 94143 USA
[2] Coll William & Mary, Williamsburg, VA 23187 USA
关键词
Spin locks; MCS lock; HMCS lock; HMCS-T lock; NUMA systems; synchronization; scalability; model checking; formal verification; MODEL;
D O I
10.1145/3399728
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
The popularity of Non-Uniform Memory Access (NUMA) architectures has led to numerous locality-preserving hierarchical lock designs, such as HCLH, HMCS, and cohort locks. Locality-preserving locks trade fairness for higher throughput. Hence, some instances of acquisitions can incur long latencies, which can be intolerable for certain applications. Few locks allow a waiting thread to abort on a timeout. State-of-the-art abortable locks are not fully locality aware, introduce high overheads, and are unsuitable for frequent aborts. Enhancing locality-aware locks with lightweight timeout capability is critical for their adoption. In this article, we describe the design and implementation of the HMCS-T lock, a Hierarchical MCS (HMCS) lock variant that admits timeout. HMCS-T maintains the locality benefits of HMCS while ensuring aborts are lightweight. HMCS-T offers the progress guarantee missing in most abortable queuing locks. The resulting locking algorithm is complex and stateful. Proving the correctness of a complex, stateful synchronization algorithm is challenging. We prove the correctness of HMCS-T by first decomposing the problem via a novel technique that uses non-deterministic finite acceptors (NFAs). The decomposed problems become small enough to be mechanically model checked without a state-space explosion. Then, we generalize the correctness proof of any arbitrary lock configuration using a construction argument.
引用
收藏
页数:32
相关论文
共 30 条
  • [21] PROVING LIVENESS PROPERTIES OF CONCURRENT PROGRAMS
    OWICKI, S
    LAMPORT, L
    [J]. ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1982, 4 (03): : 455 - 495
  • [22] Pareek A, 2012, LECT NOTES COMPUT SC, V7611, P267, DOI 10.1007/978-3-642-33651-5_19
  • [23] Pnueli A., 1977, 18th Annual Symposium on Foundations of Computer Science, P46, DOI 10.1109/SFCS.1977.32
  • [24] Queille JP, 2008, LECT NOTES COMPUT SC, V5000, P216
  • [25] ffwd: delegation is (much) faster than you think
    Roghanchi, Sepideh
    Eriksson, Jakob
    Basu, Nilanjana
    [J]. PROCEEDINGS OF THE TWENTY-SIXTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES (SOSP '17), 2017, : 342 - 358
  • [26] Scott MichaelL., 2002, PODC 02 P 21 ANN S P, P31, DOI 10. 1145/571825.571830
  • [27] Scalable queue-based spin locks with timeout
    Scott, ML
    Scherer, WN
    [J]. ACM SIGPLAN NOTICES, 2001, 36 (07) : 44 - 52
  • [28] Tullsen DeanM., 1998, 25 years of the international symposia on Computer architecture (selected papers), ISCA '98, P533, DOI [10.1145/285930.286011, DOI 10.1145/285930.286011]
  • [29] A BRIDGING MODEL FOR PARALLEL COMPUTATION
    VALIANT, LG
    [J]. COMMUNICATIONS OF THE ACM, 1990, 33 (08) : 103 - 111
  • [30] Inter-professional delirium education and care: a qualitative feasibility study of implementing a delirium Smartphone application
    Zhang, Melvyn
    Bingham, Kathleen
    Kantarovich, Karin
    Laidlaw, Jennifer
    Urbach, David
    Sockalingam, Sanjeev
    Ho, Roger
    [J]. BMC MEDICAL INFORMATICS AND DECISION MAKING, 2016, 16