Bringing back this old discussion in the context of [1]. After some months of operational experience, it is clear we need to support memory-aware throttling. What Markus proposed below seems quite plausible to me.
--dave [1] https://github.com/apache/incubator-openwhisk/issues/4196 On 2018/05/10 11:36:28, "Markus Thoemmes" <[email protected]> wrote: > # 3. Throttling mechanism: > > Very good one, I missed that in my initial proposal: Today, we limit the number of concurrent activations, or differently phrased the number of slots occupied at any point in time. Likewise, the throttling can change to stay "number of slots occupied at any point in time" and will effectively limit the amount of memory a user can consume in the system, i.e. if a user has 1000 slots free, she can have 250x 512MB activations running, or 500x 256MB activations (or any mixture of course). > > It's important that we provide a migration path though as this will change the behavior in production systems. We could make the throttling strategy configurable and decide between "maximumConcurrentActivations", which ignores the weight of an action and behaves just like today and "memoryAwareWeights" which is the described new way of throttling. >
