Hi - I’ve been discussing a bit with a few about optimizing the queueing that goes on ahead of invokers so that things behave more simply and predictable.
In short: Instead of scheduling activations to an invoker on receipt, do the following: - execute the activation "immediately" if capacity is available - provide a single overflow topic for activations that cannot execute “immediately" - schedule from the overflow topic when capacity is available (BTW “Immediately” means: still queued via existing invoker topics, but ONLY gets queued there in the case that the invoker is not fully loaded, and therefore should execute it “very soon") Later: it would also be good to provide more container state data from invoker to controller, to get better scheduling options - e.g. if some invokers can handle running more containers than other invokers, that info can be used to avoid over/under-loading the invokers (currently we assume each invoker can handle 16 activations, I think) I put a wiki page proposal here: https://cwiki.apache.org/confluence/display/OPENWHISK/Invoker+Activation+Queueing+Change WDYT? Thanks Tyson
