JuliaActors / Actors.jl

Concurrent computing in Julia based on the Actor Model
MIT License
105 stars 11 forks source link

Improve Supervision #22

Open pbayer opened 3 years ago

pbayer commented 3 years ago

This is a collection of various improvements to supervision (implemented in issue #16):

Task supervision

I have to look further into the following:

pbayer commented 3 years ago

Supervision of registered actors

If remote actors communicate with each other over RemoteChannels, several copies of an actor link may exist on different workers. After restart of an actor those links get out of sync!

I that case those actors must be registered and the supervisor supervises a registered actor name and updates the link for that name after actor restart. The registry then is the one place having a current link to the remote actor.

Note

It is better not to enforce remote actor registration since in a strictly hierarchical network topology with the supervisor running at the root node this is not strictly needed.

pbayer commented 3 years ago

Identify supervised actors by name

Currently after actor restart due to a node failure the supervisor gives a warning restarting @unknown on pid x. This makes no sense for diagnosis.

Therefore actors must be identifiable and be identified either by their Proquint string or by their registered name. Three changes are necessary to the: