We analyze parallel algorithms in the context of exhaustive search over
totally ordered sets. Imagine an infinite list of "boxes", with a "treasure"
hidden in one of them, where the boxes' order reflects the importance of
finding the treasure in a given box. At each time step, a search protocol
executed by a searcher has the ability to peek into one box, and see whether
the treasure is present or not. By equally dividing the workload between them,
k searchers can find the treasure k times faster than one searcher.
However, this straightforward strategy is very sensitive to failures (e.g.,
crashes of processors), and overcoming this issue seems to require a large
amount of communication. We therefore address the question of designing
parallel search algorithms maximizing their speed-up and maintaining high
levels of robustness, while minimizing the amount of resources for
coordination. Based on the observation that algorithms that avoid communication
are inherently robust, we analyze the best running time performance of
non-coordinating algorithms. Specifically, we devise non-coordinating
algorithms that achieve a speed-up of 9/8 for two searchers, a speed-up of
4/3 for three searchers, and in general, a speed-up of 4k(1+1/k)2
for any k≥1 searchers. Thus, asymptotically, the speed-up is only four
times worse compared to the case of full-coordination, and our algorithms are
surprisingly simple and hence applicable. Moreover, these bounds are tight in a
strong sense as no non-coordinating search algorithm can achieve better
speed-ups. Overall, we highlight that, in faulty contexts in which coordination
between the searchers is technically difficult to implement, intrusive with
respect to privacy, and/or costly in term of resources, it might well be worth
giving up on coordination, and simply run our non-coordinating exhaustive
search algorithms