Consider augmenting the global memory limiter with support for cgroups memory pressure events. #312
Labels
area/memory
Memory bounds and memory management.
effort/intermediate
Involves changes that can be worked on by non-experts but might require guidance.
type/enhancement
An enhancement in functionality or support.
type/meta
Things that can't be neatly categorized and/or aren't yet fully-formed ideas/thoughts.
Context
Currently, the global memory limiter uses a simple heuristic of observing the process RSS and increasing the backoff duration based on how close the process RSS is to the configured memory limit. While this follows the spirit of a configured memory limit, it doesn't allow for the possibly of being attuned to the actual state of the system itself. Additionally, it is inherently lossy, as we apply a number of various factors to attempt to figure out when to begin applying backpressure before the limit is reached.
It would be interesting to explore the use of "memory pressure events" to more accurately respond to the operating system's view of current memory pressure, which will inherently take into consideration any cgroups memory limits, and the general memory pressure on the host overall.
The idea is that this would potentially allow us to be more precise without needing to inherently have a fixed memory limit, such that ADP could expand and contracts its memory usage based on the overall state of the host, since we would rely on the OS to provide us accurate information/updates about when we need to care about our memory usage.
The text was updated successfully, but these errors were encountered: