agent-substrate / agent-substrate/substrate
Allow actors to self-suspend
- Dominant language
- Go
- Stars
- 1.8k
- Forks
- 316
- Avg merge
- 2d 43m
- Merged PRs (30d)
- 287
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`).
Contributor guide
Assessment
This issue has not been assessed yet.