We consider the Do-All problem: p failure-prone processors perform t similar and independent tasks. We assume that processors are synchronous, communicate by message passing, and are subject to crashes determined by an adaptive adversary restricted only by the upper bound / on the number of crashes. The performance of algorithms in this setting is normally measured in terms of work (total available processor steps) and communication (total number of point-to-point messages) complexity. We consider work and communication as comparable resources and we develop algorithms that have efficient effort defined as work + communication. We present a p-processor, t-task algorithm that has effort O(t + p~(1.77)), against the unbounded adversary (f < p). This is the first algorithm that achieves subquadratic in p effort efficiency for unbounded adversary, or even for linearly-bounded adversary that crashes up to a constant fraction of the processors. We present another algorithm that has work O(t + p log~2 p) against f-bounded adversaries such that p― f = Ω(p~b) for a constant b, 0 < b < 1. We show how to achieve effort O(t +p log~2 p) against a linearly-bounded adversary; this result is close to lower bound Ω(t + p log p/ log log p).
展开▼