Abstract |
The condition of t-resilience stipulates that an n-process program is only obliged to make progress when at least n-t processes are correct. Put another way, the *live sets*, the collection of process sets such that progress is required if all the processes in one of these sets are correct, are all sets with at least n-t processes. In this paper we study what happens when the live sets are any arbitrary collection of sets L. We show that the power of L to solve distributed tasks is tightly related to the *minimum hitting set* of L, a minimum cardinality subset of processes that has a non-empty intersection with every live set. Thus, a necessary condition to make progress in the presence of L is that at least one member of the set is correct. For the special case of *colorless* tasks that allow participating processes to adopt input or output values of each other, we show that the set of tasks that can be solved *L-resiliently* is exactly captured by the size of the minimum hitting set of L. For general tasks, we characterize L-resilient solvability of tasks with respect to a limited notion of *weak* solvability: in every execution where all processes in some set in L are correct, outputs must be produced for every process in some (possibly different) participating set in L. Given a task T, we construct another task T' such that T is solvable weakly L-resiliently if and only if T' is solvable weakly wait-free. |