Blocking
Waiting for a result before continuing. In distributed code, blocking too early is the most common cause of a run that gains no speedup.
The most common performance mistake in distributed code, and it looks correct. Calling get() inside the loop that dispatches work means only one task is ever in flight, so a cluster of 32 workers has 31 idle while you pay for all of them.
Performance & optimizationDistributed compute
Related terms
- `get()`: The `eugo.hpc` call that resolves one or more futures into actual values, blocking until they are ready.
- Future: A handle to a result that does not exist yet. Calling a distributed function returns a future immediately, while the work happens elsewhere.
- Fan-out: Launching many independent tasks at once, then waiting on all of their results together.