Results 1 
5 of
5
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 wellknown that classical 2process mutual exclusion algorithms, such as Dekker and Peterson’s algorithms, are not faulttolerant; in this paper we ask what degre ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
We study the behavior of mutual exclusion algorithms in the presence of unreliable shared memory subject to transient memory faults. It is wellknown that classical 2process mutual exclusion algorithms, such as Dekker and Peterson’s algorithms, are not faulttolerant; 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 deadlockfreedom using three binary registers; this holds in general when fewer than2f+1 binary registers are used and f may be faulty. Hence we focus on algorithms that guarantee (a) mutual exclusion and starvationfreedom in faultfree executions, and (b) only mutual exclusion in faulty executions. We show that using only three binary registers it is possible to design an 2process 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 tof 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 nvariable singlefault tolerant algorithm satisfying certain conditions can be transformed into an ((n − 1)f + 1)variable ffault tolerant algorithm with the same progress guarantee as the original. In combination with our threevariable algorithm, this implies that there is a(2f+1)variable mutual exclusion algorithm tolerating a single fault in up tof variables without violating mutual exclusion.
Looking for Efficient Implementations of Concurrent Objects
 in "11th International Conference on Parallel Computing Technologies (PaCT’11)", Kazan, Russian Federation, V. MALYSHKIN (editor), Lecture Notes in Computer Science
, 2011
"... HAL is a multidisciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte p ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
(Show Context)
HAL is a multidisciplinary open access archive for the deposit and dissemination of scientific research documents, whether they are published or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers. L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et a ̀ la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés. Publications Internes de l’IRISA
Help when needed, but no more:
, 2008
"... Abstract: An atomic snapshot object is an object that can be concurrently accessed by asynchronous processes prone to crash. It is made of m components (base atomic registers) and is defined by two operations: an update operation that allows a process to atomically assign a new value to a component ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract: An atomic snapshot object is an object that can be concurrently accessed by asynchronous processes prone to crash. It is made of m components (base atomic registers) and is defined by two operations: an update operation that allows a process to atomically assign a new value to a component and a snapshot operation that atomically reads and returns the values of all the components. To cope with the net effect of concurrency, asynchrony and failures, the algorithm implementing the update operation has to help concurrent snapshot operations in order they can always terminate. This paper is on partial snapshot objects. Such an object provides a snapshot operation that takes a (dynamically defined) subset of the components as input parameter, and atomically reads and returns the values of this subset of components. The paper has two contributions. The first is the introduction of two properties for partial snapshot object algorithms, called helplocality and uptodateness. Helplocality requires that an update operation helps only the concurrent partial snapshot operations that read the component it writes. When an update of a component r helps a partial snapshot, uptodateness requires that the update provides the partial snapshot with a value of the component r that is at least as recent as the value it writes into that component. (No snapshot algorithm proposed so far satisfies these properties.) The second contribution consists of an update and a partial snapshot algorithms that are waitfree, linearizable and satisfy the previous
In sequential...
"... Today’s column deals with the theory of computability in a distributed system. It features a tutorial on this topic by Maurice Herlihy, Sergio Rajsbaum, and Michel Raynal. The tutorial focuses on a canonical asynchronous computation model, where processes communicate by writing to and reading from s ..."
Abstract
 Add to MetaCart
(Show Context)
Today’s column deals with the theory of computability in a distributed system. It features a tutorial on this topic by Maurice Herlihy, Sergio Rajsbaum, and Michel Raynal. The tutorial focuses on a canonical asynchronous computation model, where processes communicate by writing to and reading from shared memory. It studies which distributed tasks can be solved in this model in the presence of process failures and communication delays, and which cannot. The tutorial highlights two powerful techniques for obtaining computability results: First, the abstraction of an iterated writesnapshot model is used in order to simplify algorithms, and reduce the complexity of the solutions space one needs to explore for impossibility proofs. Second, concepts from combinatorial topology provide an understanding of the mathematical structure induced by possible executions of a protocol in this model. Many thanks to Maurice, Sergio, and Michel for their contribution! Call for contributions: I welcome suggestions for material to include in this column, including news, reviews, open problems, tutorials and surveys, either exposing the community to new and interesting topics, or providing new insight on wellstudied topics by organizing them in new ways.