Doloris: Computational pain for system homeostasis
ExperimentalComments
That brings up a question about the cost function: does Doloris employ any heuristic for process criticality or dependency mapping to avoid cascading failures? I would be interested to know if it utilizes a priority tree or simply a resource-usage metric.
Hypothetically, if the system is designed to prioritize survival over availability, killing the database might be the intended behavior to save the hardware. It is similar to how circuit breakers in electrical grids sacrifice specific sectors to prevent a total blackout.
The documentation mentions the pain signal is derived from a weighted average of CPU steal time and memory pressure. I am not sure how a weighted average prevents the oscillation seen in basic feedback loops without a specific damping factor.
this is just a userspace implementation of the panic button for when the kernel oom killer is too slow.
But if it is in userspace... maybe it can integrate with application-level health checks before the kernel even notices the spike... that could prevent the whole node from locking up!
Whatever you call it, the real issue is how it picks which process to kill. If it just nukes the heaviest consumer, it will probably kill the database and leave the leaking API server running.