Skip to content

Allow actors to self-suspend #483

Description

Substrate's value comes from suspending idle actors and multiplexing many of them onto few workers. But today nothing decides when an actor is idle: suspend is only triggered by an external SuspendActor/PauseActor API call, presumably a higher order system.

We discussed an automatic idle-detection, but doesn't exist yet and I'm not sure if it can realistically work for session-based protocols such as websockets or grpc (with stream).

For some use cases, actors reliably know when they are idle, "I finished my turn / my streams are dormant / checkpoint me."

We should consider a cooperative model where actors yield by writing to a well-known file (e.g. /var/ate/state/suspend).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions