Fan-out
Launching many independent tasks at once, then waiting on all of their results together.
The correct shape is to build the full list of futures first and resolve it in one call. Resolving each future as it is created runs the work serially.
Distributed computePerformance & optimization
Related terms
- Task: One unit of distributed work: a single call to a function decorated with the distribute decorator. Tasks are stateless, so each call starts fresh.
- Future: A handle to a result that does not exist yet. Calling a distributed function returns a future immediately, while the work happens elsewhere.
- `get()`: The `eugo.hpc` call that resolves one or more futures into actual values, blocking until they are ready.
- 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.