Scalable Adaptive NUMA-Aware Lock

被引:10
|
作者
Zhang, Mingzhe [1 ]
Chen, Haibo [2 ]
Cheng, Luwei [3 ]
Lau, Francis C. M. [1 ]
Wang, Cho-Li [1 ]
机构
[1] Univ Hong Kong, Dept Comp Sci, Hong Kong, Hong Kong, Peoples R China
[2] Shanghai Jiao Tong Univ, Inst Parallel & Distributed Syst, Minhang 200240, Qu, Peoples R China
[3] Facebook, Menlo Pk, CA 94025 USA
关键词
Delegation lock; adaptive synchronization;
D O I
10.1109/TPDS.2016.2630695
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
Scalable locking is a key building block for scalable multi-threaded software. Its performance is especially critical in multi-socket, multi-core machines with non-uniform memory access (NUMA). Previous schemes such as in-place locks and delegation locks only perform well under a certain level of contention, and often require non-trivial tuning for a particular configuration. Besides, in large NUMA systems, current delegation locks cannot perform satisfactorily due to lack of optimized NUMA policies. In this work, we propose SANL, a locking scheme that can deliver high performance under various contention levels by adaptively switching between in-place locks and delegation locks. To optimize the performance of delegation locks, we introduce a new NUMA policy that jointly considers node distances and server utilization when choosing lock servers. We have implemented SANL and evaluated it with four popular multi-threaded applications (Memcached, Berkeley DB, Phoenix2 and SPLASH-2), on a 40-core Intel machine and a 64-core AMD machine. The comparison results with seven other representative locking schemes show that SANL outperforms them in most contention situations. For example, in one group test, SANL is 3.7 times faster than RCL lock and 17 times faster than POSIX mutex.
引用
收藏
页码:1754 / 1769
页数:16
相关论文
共 50 条
  • [41] Heterogeneous- and NUMA-aware Scheduling for Many-core Architectures
    Petrides, Panayiotis
    Trancoso, Pedro
    [J]. SYSTOR'17: PROCEEDINGS OF THE 10TH ACM INTERNATIONAL SYSTEMS AND STORAGE CONFERENCE, 2017,
  • [42] HiNUMA: NUMA-aware Data Placement and Migration in Hybrid Memory Systems
    Duan, Zhuohui
    Liu, Haikun
    Liao, Xiaofei
    Jin, Hai
    Jiang, Wenbin
    Zhang, Yu
    [J]. 2019 IEEE 37TH INTERNATIONAL CONFERENCE ON COMPUTER DESIGN (ICCD 2019), 2019, : 367 - 375
  • [43] A NUMA-aware Key-Value Store for Hybrid Memory Architecture
    Li, Yuguo
    Tan, Shaoheng
    Wang, Zhiwen
    Li, Dingding
    [J]. IEEE INFOCOM 2022 - IEEE CONFERENCE ON COMPUTER COMMUNICATIONS WORKSHOPS (INFOCOM WKSHPS), 2022,
  • [44] A NUMA-Aware Parallel Truss Decomposition Algorithm for Large Scale Graphs
    Mou, Zhebin
    Xiao, Nong
    Chen, Zhiguang
    [J]. ALGORITHMS AND ARCHITECTURES FOR PARALLEL PROCESSING, ICA3PP 2021, PT II, 2022, 13156 : 193 - 212
  • [45] Design, Implementation, and Evaluation of a NUMA-Aware Cache for iSCSI Storage Servers
    Ren, Yufei
    Li, Tan
    Yu, Dantong
    Jin, Shudong
    Robertazzi, Thomas
    [J]. IEEE TRANSACTIONS ON PARALLEL AND DISTRIBUTED SYSTEMS, 2015, 26 (02) : 413 - 422
  • [46] A NUMA-aware NVM File System Design for Manycore Server Applications
    Kim, June-Hyung
    Kim, Youngjae
    Jamil, Safdar
    Park, Sungyong
    [J]. 2020 IEEE 28TH INTERNATIONAL SYMPOSIUM ON MODELING, ANALYSIS, AND SIMULATION OF COMPUTER AND TELECOMMUNICATION SYSTEMS (MASCOTS 2020), 2020, : 41 - 45
  • [47] NapFS: A High-Performance NUMA-Aware PM File System
    Jia, Wenqing
    Jiang, Dejun
    Xiong, Jin
    [J]. 2022 IEEE 40TH INTERNATIONAL CONFERENCE ON COMPUTER DESIGN (ICCD 2022), 2022, : 593 - 601
  • [48] NUMA-aware memory coloring for multicore real-time systems
    Pan, Xing
    Mueller, Frank
    [J]. JOURNAL OF SYSTEMS ARCHITECTURE, 2021, 118
  • [49] An Auto-Tuning Framework for a NUMA-Aware Hessenberg Reduction Algorithm
    Eljammaly, Mahmoud
    Karlsson, Lars
    Kagstrom, Bo
    [J]. COMPANION OF THE 2018 ACM/SPEC INTERNATIONAL CONFERENCE ON PERFORMANCE ENGINEERING (ICPE '18), 2018, : 5 - 8
  • [50] PufferFish: NUMA-Aware Work-stealing Library using Elastic Tasks
    Kumar, Vivek
    [J]. 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON HIGH PERFORMANCE COMPUTING, DATA, AND ANALYTICS (HIPC 2020), 2020, : 251 - 260