Description
Because of the switch to memory-based allocation of invoker slots, we also need the ability to limit users based on the amount of memory concurrently used by their running actions. A user that wants to run 200 concurrent 128MB actions is significantly (16x) easier for an OpenWhisk deployment to satisfy than a user that wants to run 200 concurrent 2GB actions.
The implementation would parallel the current invocation-based counting of concurrent actions (but would increment/decrement by the action's requested memory instead of counting all actions equally as 1).
We should probably implement a separate memory-based concurrency limit initially, then consider whether we actually need both count-based and memory-based concurrency limits and perhaps deprecate the count-based limit.