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