...
【24h】

Scalable Adaptive NUMA-Aware Lock

机译:可扩展的自适应NUMA感知锁

获取原文
获取原文并翻译 | 示例

摘要

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.
机译:可伸缩锁定是可伸缩多线程软件的关键构建块。它的性能在具有非统一内存访问(NUMA)的多路,多核计算机中尤其重要。诸如位置锁定和委托锁定之类的先前方案仅在一定级别的争用下才能发挥良好的性能,并且通常要求对特定配置进行不重要的调整。此外,在大型NUMA系统中,由于缺乏优化的NUMA策略,当前的委托锁无法令人满意地执行。在这项工作中,我们提出了SANL,一种锁定方案,它可以通过在就地锁和委托锁之间进行自适应切换来在各种竞争级别下提供高性能。为了优化委托锁的性能,我们引入了新的NUMA策略,该策略在选择锁服务器时会共同考虑节点距离和服务器利用率。我们已经在40核Intel机器和64核AMD机器上实施了SANL,并使用四个流行的多线程应用程序(Memcached,Berkeley DB,Phoenix2和SPLASH-2)对其进行了评估。与其他七个代表性锁定方案的比较结果表明,SANL在大多数争用情况下均优于它们。例如,在一组测试中,SANL比RCL锁快3.7倍,比POSIX互斥锁快17倍。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号