首页> 外文期刊>Computers, IEEE Transactions on >Requester-Based Spin Lock: A Scalable and Energy Efficient Locking Scheme on Multicore Systems
【24h】

Requester-Based Spin Lock: A Scalable and Energy Efficient Locking Scheme on Multicore Systems

机译:基于请求者的自旋锁:多核系统上的可扩展且节能的锁定方案

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

摘要

In response to the increasing ubiquity of multicore processors, applications are usually designed or deployed to make each core busy. Unfortunately, lock contention within operating systems can limit the scalability of multicore systems so severely that an increase in the number of cores can actually lead to reduced performance (i.e., scalability collapse). Existing lock implementations have disadvantages in scalability, power consumption, and energy efficiency. In this paper, we observe that the number of tasks requesting a lock has a significant correlation with the occurrence of scalability collapse. Based on this observation, a lock implementation that allows tasks waiting for a lock to either spin or enter a power-saving state based on the number of requesters is proposed. Our lock protocol is called requester-based lock and is implemented in the Linux kernel to replace its default spin lock. Based on the results of a sensitivity analysis, we find that the best policy, in practice, for a task waiting for a lock to be granted is to enter the power-saving state immediately after noticing the lock cannot be acquired. Our requester-based lock scheme is evaluated using intensive benchmarking on AMD 32-core and Intel 40-core systems. Experimental results suggest that our lock avoids scalability collapse completely for most applications and shows better scalability, power consumption, and energy efficiency than previous work. Besides, the requester-based lock is extensible, which means using together with other kinds of spin locks can provide better scalability and energy efficiency.
机译:为了响应多核处理器的日益普及,通常设计或部署应用程序以使每个核变得繁忙。不幸的是,操作系统内的锁争用会严重限制多核系统的可扩展性,以至于内核数量的增加实际上会导致性能降低(即,可扩展性崩溃)。现有的锁实现在可伸缩性,功耗和能效方面具有缺点。在本文中,我们观察到请求锁定的任务数量与可伸缩性崩溃的发生具有显着的相关性。基于这种观察,提出了一种锁实现,该锁实现允许根据请求者的数量等待锁旋转或进入省电状态的任务。我们的锁协议称为基于请求者的锁,并在Linux内核中实现以替换其默认的自旋锁。根据敏感性分析的结果,我们发现,实际上,等待授予锁的任务的最佳策略是在注意到无法获取锁之后立即进入节能状态。我们的基于请求者的锁定方案在AMD 32核和Intel 40核系统上使用密集基准测试进行了评估。实验结果表明,对于大多数应用程序,我们的锁可避免可扩展性完全崩溃,并且比以前的工作具有更好的可扩展性,功耗和能效。此外,基于请求者的锁是可扩展的,这意味着与其他类型的自旋锁一起使用可以提供更好的可伸缩性和能效。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号