You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The current decay approach is not really decay, it is just a random probability of failure on check in expressed as number of chances of dying per 1M uses. Decay should really be an exponential increase in probability of failure, triggered by some measure of use or likelihood of the process causing problems if it isn't recycled. The key is to make the results stochastic so that there is a very, very low probability of a storm of connections be reset at the same time.
Death of a connection serves two purposes:
It frees fragmented heap and removes any leftover process dictionary junk
It allows the respawn + reconnect to attach to a different node for better load balancing
- the most beneficial aspect is when a faulty node cannot be reconnected
There are a few methods for having a smarter decay factor:
Base it on reductions of the process
Base it on memory allocations or garbage collect cycles
Allow the integrator to define an application specific function
Creating a behaviour with default functionality base on reductions as a default, with the application able to override would be a good improvement over the current state of affairs. The information passed on the decay function call is currently just the Pid. I'm not sure what additional information is available in Elysium that would be useful. The application could implement a dictionary of Pids that are currently active and log information about what tasks they've performed (although it is fairly opaque when a particular session gets used).
The text was updated successfully, but these errors were encountered:
The current decay approach is not really decay, it is just a random probability of failure on check in expressed as number of chances of dying per 1M uses. Decay should really be an exponential increase in probability of failure, triggered by some measure of use or likelihood of the process causing problems if it isn't recycled. The key is to make the results stochastic so that there is a very, very low probability of a storm of connections be reset at the same time.
Death of a connection serves two purposes:
- the most beneficial aspect is when a faulty node cannot be reconnected
There are a few methods for having a smarter decay factor:
Creating a behaviour with default functionality base on reductions as a default, with the application able to override would be a good improvement over the current state of affairs. The information passed on the decay function call is currently just the Pid. I'm not sure what additional information is available in Elysium that would be useful. The application could implement a dictionary of Pids that are currently active and log information about what tasks they've performed (although it is fairly opaque when a particular session gets used).
The text was updated successfully, but these errors were encountered: