首页> 外文会议>PODC'11 : Proceedings of the 2011 ACM symposium on principles of distributed computing. >Resilience of Mutual Exclusion Algorithms to Transient Memory Faults
【24h】

Resilience of Mutual Exclusion Algorithms to Transient Memory Faults

机译:互斥算法对瞬时内存故障的恢复能力

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

摘要

We study the behavior of mutual exclusion algorithms in the presence of unreliable shared memory subject to transient memory faults. It is well-known that classical 2-process mutual exclusion algorithms, such as Dekker and Peterson's algorithms, are not fault-tolerant; in this paper we ask what degree of fault tolerance can be achieved using the same restricted resources as Dekker and Peterson's algorithms, namely, three binary read/write registers. We show that if one memory fault can occur, it is not possible to guarantee both mutual exclusion and deadlock-freedom using three binary registers; this holds in general when fewer than 2f + 1 binary registers are used and f may be faulty. Hence we focus on algorithms that guarantee (a) mutual exclusion and starvation-freedom in fault-free executions, and (b) only mutual exclusion in faulty executions. We show that using only three binary registers it is possible to design an 2-process mutual exclusion algorithm which tolerates a single memory fault in this manner. Further, by replacing one read/write register with a test&set register, we can guarantee mutual exclusion in executions where one variable experiences unboundedly many faults. In the more general setting where up to f registers may be faulty, we show that it is not possible to guarantee mutual exclusion using 2f + 1 binary read/write registers if each faulty register can exhibit unboundedly many faults. On the positive side, we show that an n-variable single-fault tolerant algorithm satisfying certain conditions can be transformed into an ((n - 1)f + 1)-variable f-fault tolerant algorithm with the same progress guarantee as the original. In combination with our three-variable algorithm, this implies that there is a (2f + 1)-variable mutual exclusion algorithm tolerating a single fault in up to / variables without violating mutual exclusion.
机译:我们研究存在不可靠共享内存的瞬态存储故障下互斥算法的行为。众所周知,经典的两进程互斥算法(例如Dekker和Peterson算法)不是容错的。在本文中,我们问使用与Dekker和Peterson算法相同的受限资源(即三个二进制读/写寄存器)可以达到什么程度的容错能力。我们表明,如果可能发生一个内存故障,则无法使用三个二进制寄存器来保证互斥和无死锁;通常,当使用少于2f +1个二进制寄存器并且f可能有故障时,这种情况适用。因此,我们关注于保证(a)在无错执行中互斥和无饥饿,以及(b)在有错执行中互斥的算法。我们表明,仅使用三个二进制寄存器,就有可能设计出一种以这种方式容忍单个内存故障的2进程互斥算法。此外,通过将一个读/写寄存器替换为一个test&set寄存器,我们可以保证在一个变量无数次出现错误的执行过程中相互排斥。在更一般的设置中,最多可能有f个寄存器出现故障,我们表明,如果每个有故障的寄存器都可以无限制地出现许多故障,则无法使用2f + 1个二进制读/写寄存器来保证互斥。从积极的方面,我们证明了可以将满足特定条件的n变量单故障容错算法转换为((n-1)f +1)变量f-fault容错算法,并保证与原始算法相同的进度。 。结合我们的三变量算法,这意味着存在(2f +1)变量互斥算法,最多可容忍单个故障/变量,而不会违反互斥。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号