Improve calculation of max requested running
CMS is seeing a lot of idle glideins in the case where there are very small burst of short-lived jobs.
Currently, the (approximate) algorithm for max requested running is:
max requested running = (# proportional cores idle / # cores in entry) + (# of running glideins)
I'm thinking along the lines of:
max requested running = max( (# proportional job-cores idle / # cores in entry) - # idle glideins, 0) + (# of running glideins)
If all is going well and there are more idle jobs than idle glideins, in the next round, # of idle glideins will go to zero and the tweaked expression is equivalent to the original ones.
However, if the matching expression is wrong (meaning the idle glideins never become running) or the idle jobs all prefer another site (perhaps due to a RANK expression), then this makes the max requested running more conservative.
So, this mostly would help in non-steady-state phase spaces -- which, unfortunately, is where CMS lives.