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 条
  • [1] Alpern Bowen, 1984, TECHNICAL REPORT
  • [2] [Anonymous], 1982, Proceeding of Logic of Programs, Workshop
  • [3] Chabbi M, 2017, ACM SIGPLAN NOTICES, V52, P61, DOI [10.1145/3155284.3018768, 10.1145/3018743.3018768]
  • [4] Contention-Conscious, Locality-Preserving Locks
    Chabbi, Milind
    Mellor-Crummey, John
    [J]. ACM SIGPLAN NOTICES, 2016, 51 (08) : 263 - 276
  • [5] Chabbi M, 2015, ACM SIGPLAN NOTICES, V50, P215, DOI [10.1145/2688500.2688503, 10.1145/2858788.2688503]
  • [6] Clarke E. M., 1993, Computer Aided Verification. 5th International Conference, CAV '93 Proceedings, P450
  • [7] Everything You Always Wanted to Know About Synchronization but Were Afraid to Ask
    David, Tudor
    Guerraoui, Rachid
    Trigonakis, Vasileios
    [J]. SOSP'13: PROCEEDINGS OF THE TWENTY-FOURTH ACM SYMPOSIUM ON OPERATING SYSTEMS PRINCIPLES, 2013, : 33 - 48
  • [8] Lock Cohorting: A General Technique for Designing NUMA Locks
    Dice, David
    Marathe, Virendra J.
    Shavit, Nir
    [J]. ACM SIGPLAN NOTICES, 2012, 47 (08) : 247 - 256
  • [9] Symmetry and model checking
    Emerson, EA
    Sistla, AP
    [J]. FORMAL METHODS IN SYSTEM DESIGN, 1996, 9 (1-2) : 105 - 131
  • [10] The implementation of the Cilk-5 multithreaded language
    Frigo, M
    Leiserson, CE
    Randall, KH
    [J]. ACM SIGPLAN NOTICES, 1998, 33 (05) : 212 - 223