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 guaranteed if at least one of the sets is correct, are all sets with at least n-t processes. Given an arbitrary collection of live sets L, what distributed tasks are solvable? We show that the power of L to solve tasks is tightly related to the L, minimum hitting set, of L, a minimum cardinality subset of processes that has a non-empty intersection with every live set. A necessary condition to make progress in the presence of L is that at least one member of the set is correct. Thus, finding the computing power of L, is NP-complete. For the special case of colorless, tasks that allow every process to adopt an input or output value of any other process, we show that the set of tasks that an L-resilient adversary can solve is exactly captured by the size of its minimum hitting set. For general tasks, we characterize L-resilient solvability of tasks with respect to a limited notion of weak solvability (which is however stronger than colorless solvability). 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. |