4 research outputs found
Dining philosophers with masking tolerance to crash faults
We examine the tolerance of dining philosopher algorithms subject to process
crash faults in arbitrary conflict graphs. This classic problem is unsolvable in asynchronous
message-passing systems subject to even a single crash fault. By contrast,
dining can be solved in synchronous systems capable of implementing the perfect
failure detector P (from the Chandra-Toueg hierarchy). We show that dining is also
solvable in weaker timing models using a combination of the trusting detector T and
the strong detector S; Our approach extends and composes two currents of previous
research. First, we define a parametric generalization of Lynch’s classic algorithm
for hierarchical resource allocation. Our construction converts any mutual exclusion
algorithm into a valid dining algorithm. Second, we consider the fault-tolerant mutual
exclusion algorithm (FTME) of Delporte-Gallet, et al., which uses T and the
strong detector S to mask crash faults in any environment. We instantiate our dining
construction with FTME, and prove that the resulting dining algorithm guarantees
masking tolerance to crash faults. Our contribution (1) defines a new construction
for transforming mutual exclusion algorithms into dining algorithms, and (2) demonstrates
a better upper-bound on the fault-detection capabilities necessary to mask
crash faults in dining philosophers
The Weakest Failure Detector for Solving Wait-Free, Eventually Bounded-Fair Dining Philosophers
This dissertation explores the necessary and sufficient conditions to solve a variant
of the dining philosophers problem. This dining variant is defined by three properties:
wait-freedom, eventual weak exclusion, and eventual bounded fairness. Wait-freedom
guarantees that every correct hungry process eventually enters its critical
section, regardless of process crashes. Eventual weak exclusion guarantees that every
execution has an infinite suffix during which no two live neighbors execute overlapping
critical sections. Eventual bounded fairness guarantees that there exists a
fairness bound k such that every execution has an infinite suffix during which no
correct hungry process is overtaken more than k times by any neighbor. This dining
variant (WF-EBF dining for short) is important for synchronization tasks where eventual
safety (i.e., eventual weak exclusion) is sufficient for correctness (e.g., duty-cycle
scheduling, self-stabilizing daemons, and contention managers).
Unfortunately, it is known that wait-free dining is unsolvable in asynchronous
message-passing systems subject to crash faults. To circumvent this impossibility
result, it is necessary to assume the existence of bounds on timing properties, such
as relative process speeds and message delivery time. As such, it is of interest to
characterize the necessary and sufficient timing assumptions to solve WF-EBF dining.
We focus on implicit timing assumptions, which can be encapsulated by failure detectors. Failure detectors can be viewed as distributed oracles that can be queried
for potentially unreliable information about crash faults. The weakest detector D for
WF-EBF dining means that D is both necessary and sufficient. Necessity means that
every failure detector that solves WF-EBF dining is at least as strong as D. Sufficiency
means that there exists at least one algorithm that solves WF-EBF dining using D.
As such, our research goal is to characterize the weakest failure detector to solve
WF-EBF dining.
We prove that the eventually perfect failure detector 3P is the weakest failure
detector for solving WF-EBF dining. 3P eventually suspects crashed processes permanently,
but may make mistakes by wrongfully suspecting correct processes finitely
many times during any execution. As such, 3P eventually stops suspecting correct
processes
A General Resource Allocation Synchronization Problem
We introduce a new synchronization problem called GRASP. We show that this problem is very general, in that it can provide solutions with strong properties to a wide range of previously-studied and new problems. The primary goals of this work are to unify and clarify the relationships between existing and new synchronization problems, to provide fast answers about what solutions are possible to new problems (or stronger versions of existing ones), and to provide a baseline against which to compare optimized, problem-specific solutions. We present a shared-memory solution to this problem. Our solution is based on a new solution to the Dining Philosophers problem with constant failure locality (this implies that a non-faulty process can be caused to wait indefinitely only by the failure of a process within a constant number of steps of it in the graph). We use the powerful tool of wait-free transactions to simplify our solution without restricting concurrency. 1 Introduction In this pa..