...
首页> 外文期刊>Distributed Computing >Bounded-wait Combining: Constructing Robust And High-throughput Shared Objects
【24h】

Bounded-wait Combining: Constructing Robust And High-throughput Shared Objects

机译:有界等待组合:构造健壮且高吞吐量的共享库

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

摘要

Shared counters are among the most basic coordination structures in distributed computing. Known implementations of shared counters are either blocking, non-linearizable, or have a sequential bottleneck. We present the first counter algorithm that is both linearizable, non-blocking, and can provably achieve high throughput in k-synchronous executions-executions in which process speeds vary by at most a constant factor k. The algorithm is based on a novel variation of the software combining paradigm that we call bounded-wait combining (BWC). It can thus be used to obtain implementations, possessing the same properties, of any object that supports combinable operations, such as a stack or a queue. Unlike previous combining algorithms where processes may have to wait for each other indefinitely, in the BWC algorithm, a process only waits for other processes for a bounded period of time and then "takes destiny in its own hands". In order to reason rigorously about the parallelism attainable by our algorithm, we define a novel metric for measuring the throughput of shared objects, which we believe is interesting in its own right. We use this metric to prove that our algorithm achieves throughput of Ω(N/logN) in k-synchronous executions, where TV is thernnumber of processes that can participate in the algorithm. Our algorithm uses two tools that we believe may prove useful for obtaining highly parallel non-blocking implementation of additional objects. The first are "synchronous locks", locks that are respected by processes only in k-synchronous executions and are disregarded otherwise; the second are "pseduo-transactions"-a weakening of regular transactions that allows higher parallelism.
机译:共享计数器是分布式计算中最基本的协调结构之一。共享计数器的已知实现是阻塞,不可线性化或具有顺序瓶颈。我们提出了第一个计数器算法,该算法既可线性化,又不会阻塞,并且可以在k个同步执行中(可将过程速度变化至多恒定为k的情况下)证明可实现高吞吐量。该算法基于软件合并范式的一种新颖变化,我们称之为有界等待合并(BWC)。因此,它可用于获取支持相同操作(例如堆栈或队列)的任何对象的具有相同属性的实现。与以前的合并算法不同,在其中的流程可能必须无限期地等待彼此,在BWC算法中,流程仅在有限的时间段内等待其他流程,然后“掌握命运”。为了严格地推理我们的算法可以实现的并行性,我们定义了一种用于度量共享对象吞吐量的新颖度量,我们认为它本身很有趣。我们使用此度量来证明我们的算法在k个同步执行中达到了Ω(N / logN)的吞吐量,其中TV是可以参与该算法的进程数。我们的算法使用了两个工具,我们认为这两个工具可能对获得附加对象的高度并行非阻塞实现很有用。第一个是“同步锁”,仅在k个同步执行中才被进程所尊重的锁,否则将被忽略;第二种是“伪交易”-削弱常规交易,从而允许更高的并行度。

著录项

  • 来源
    《Distributed Computing 》 |2009年第6期| 405-431| 共27页
  • 作者

    Danny Hendler; Shay Kutten;

  • 作者单位
  • 收录信息 美国《科学引文索引》(SCI);美国《工程索引》(EI);
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号