Parallel algorithm portfolio

ID: parallel-algorithm-portfolio

A parallel algorithm portfolio runs multiple candidate algorithms or randomized runs concurrently and combines their outcomes under a stopping policy. For a first-solution problem, an ideal policy stops all candidates when one returns an acceptable solution. The original portfolio study investigated how differing runtime distributions can make such combinations effective.[ref]
If candidates have dedicated processors, negligible coordination overhead and completion times , the first completion is . For independent completion times,
The equation follows because every candidate must still be running for the minimum to exceed . Independence is an assumption about the runs, not a consequence of using different processor cores.
For an original two-point model, one randomized run finishes in one second with probability , otherwise in seconds. Its mean is seconds. Two independent runs are both slow with probability , so first-completion time has mean seconds. If their runtimes are perfectly correlated, the mean remains seconds. Repeating identical hard behavior offers no independent escape route.
Wall time and computing work differ: running two full-speed processors until the first completion uses twice that wall time in processor-seconds in this model. Shared memory, bandwidth contention and communication can further change actual timings. Report those resources and the answer-acceptance rule before interpreting a parallel speedup.

New to topics? Read the docs here!