Skip to main content

Future

A handle to a result that does not exist yet. Calling a distributed function returns a future immediately, while the work happens elsewhere.

Futures are what let your code keep running while the cluster works. You convert a future into a value with get(), which blocks until the result is ready.

SDK & APIDistributed compute

Related terms

  • `get()`: The `eugo.hpc` call that resolves one or more futures into actual values, blocking until they are ready.
  • 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.
  • distribute decorator: The `eugo.hpc` decorator that turns a function into a distributed task, or a class into an actor. A decorated call returns a future instead of a value.
  • Actor: A distributed object that holds state across many calls. Created by applying the distribute decorator to a class rather than a function.
  • `eugo.hpc`: The Python module holding Eugo’s distributed-compute API. The top-level eugo namespace is deliberately empty; everything lives under `eugo.hpc`.
  • Fan-out: Launching many independent tasks at once, then waiting on all of their results together.
  • 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.