首页> 外文会议>Principles of distributed systems >Efficiently Implementing a Large Number of LL/SC Objects
【24h】

Efficiently Implementing a Large Number of LL/SC Objects

机译:有效地实现大量的LL / SC对象

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

摘要

Over the past decade, a pair of instructions called load-linked (LL) and store-conditional (SC) have emerged as the most suitable synchronization instructions for the design of lock-free algorithms. However, current architectures do not support these instructions; instead, they support either CAS (e.g., UltraSPARC, Itanium) or restricted versions of LL/SC (e.g., P0WER4, MIPS, Alpha). Thus, there is a gap between what algorithm designers want (namely, LL/SC) and what multiprocessors actually support (namely, CAS or RLL/RSC). To bridge this gap, a flurry of algorithms that implement LL/SC from CAS have appeared in the literature. The two most recent algorithms are due to Doherty, Herlihy, Luchangco, and Moir (2004) and Michael (2004). To implement M LL/SC objects shared by N processes, Doherty et al.'s algorithm uses only O(N + M) space, but is only non-blocking and not wait-free. Michael's algorithm, on the other hand, is wait-free, but uses O(N~2 + M) space. The main drawback of his algorithm is the time complexity of the SC operation: although the expected amortized running time of SC is only O(1), the worst-case running time of SC is O(N~2). The algorithm in this paper overcomes this drawback. Specifically, we design a wait-free algorithm that achieves a space complexity of O(N~2 + M), while still maintaining the O(1) worst-case running time for LL and SC operations.
机译:在过去的十年中,出现了一对称为负载链接(LL)和存储条件(SC)的指令,这是设计无锁算法的最合适的同步指令。但是,当前的体系结构不支持这些指令。相反,它们支持CAS(例如UltraSPARC,Itanium)或LL / SC的受限版本(例如P0WER4,MIPS,Alpha)。因此,算法设计者想要什么(即LL / SC)与多处理器实际支持的东西(即CAS或RLL / RSC)之间存在差距。为了弥合这一差距,文献中出现了一系列实现CAS的LL / SC的算法。最近的两个算法是由于Doherty,Herlihy,Luchangco和Moir(2004)和Michael(2004)提出的。为了实现由N个进程共享的M LL / SC个对象,Doherty等人的算法仅使用O(N + M)空间,但仅是非阻塞且无等待时间。另一方面,迈克尔算法是免等待的,但是使用O(N〜2 + M)空间。他的算法的主要缺点是SC操作的时间复杂度:尽管SC的预期摊销运行时间仅为O(1),但SC的最坏情况下的运行时间为O(N〜2)。本文中的算法克服了这一缺点。具体来说,我们设计了一种免等待算法,该算法可实现O(N〜2 + M)的空间复杂度,同时仍为LL和SC操作保持O(1)最坏情况下的运行时间。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号