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).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions