6. DO-ALL
Feb 1, 2021
DO-ALL Problem
Recall PRAM comes with (1) synchrony (2) high bandwidth memory and (3) no failures → now remove synchrony.
In a DO-ALL problem, we have:
-
1 2 |
|
Analysis
Uniprocessor time
Parallel time
When
Handling asynchrony
One of the biggest problems in parallel computing is distinguishing failed processors from slow processors. If crash occurs then it is detectable.
Fail-Stop processors never perform erroneous state transformation due to failure. Instead, the processor halts and its state is irretrievably lost.
How does asynchrony happen? Can occur from e.g. page faults.
1 2 3 |
|
As long as at least 1 processor does not crash, N tasks will complete; all processors will do
With this strategy:
-
What we want is to find solutions in this space between
Lower bound for async PRAM DO-ALL is
Algorithms with
Oracle vs. Adversary
Goal: finish all tasks.
Challenge: dealing with an adversary who kills processors and tries to slow down progress.
All tasks are: - similar size - idempotent - tasks can be performed repeatedly without harm - independent - order of completion does not matter
Oracle will do perfect load balancing and divide tasks equally between processors.
Adversary kills
Adversary loses when
Work per round: