首页> 外文会议>International symposium on distributed computing >An Optimal Implementation of Fetch-and-Increment
【24h】

An Optimal Implementation of Fetch-and-Increment

机译:取与增量的最佳实现

获取原文

摘要

We present a new wait-free implementation of a Fetch&Inc object shared by n processes from read-write registers and load-linked/store-conditional (LL/SC) objects. The step complexity of each FI operation is O(log n), which is optimal. Our implementation uses O(max{m, n}) objects, each of which stores O(log m) bits, where m is the number of FI operations that are performed. For large m, the number of objects can be reduced to O(n~2). Similar implementations of other objects, such as Fetch&Add and Swap, are also obtained. Our implementation uses a new object, called an Aggregator. It supports an operation which, if successful, puts a value into its in-buffer that can depend on the value that is currently there, an operation that copies the value in its in-buffer to its out-buffer, provided its out-buffer is empty, and an operation that empties its out-buffer. We show how to implement an Aggregator from a small constant number of LL/SC objects so that all three operations have constant step complexity.
机译:我们提出了Fetch&Inc对象的一种新的免等待实现,该对象由读写寄存器和加载链接/存储条件(LL / SC)对象的n个进程共享。每个FI操作的步骤复杂度为O(log n),这是最佳的。我们的实现使用O(max {m,n})对象,每个对象存储O(log m)位,其中m是执行的FI操作数。对于较大的m,可以将对象的数量减少为O(n〜2)。还可以获得其他对象的类似实现,例如Fetch&Add和Swap。我们的实现使用了一个称为“聚合器”的新对象。它支持一种操作,如果成功,该操作会将一个值放入其缓冲区中,该值可以取决于当前的值;如果该缓冲区的外部缓冲区中有一个值,则该操作会将其缓冲区中的值复制到缓冲区中。为空,并且清空其缓冲区的操作。我们展示了如何从少量恒定的LL / SC对象实现聚合器,以便所有三个操作都具有恒定的步复杂性。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号