5717: crunch-job uses fewer slots when few tasks at this level.
authorBrett Smith <brett@curoverse.com>
Tue, 14 Apr 2015 17:13:29 +0000 (13:13 -0400)
committerBrett Smith <brett@curoverse.com>
Wed, 15 Apr 2015 20:04:29 +0000 (16:04 -0400)
commitdcedf34693a7fcb8e423403d7d1727066ea9ef12
tree16577b2d15e20ffb83ea5af622b2614904cc0c06
parent0d8d66df56992a39cc032ba482e1ff88de7f22ab
5717: crunch-job uses fewer slots when few tasks at this level.

When crunch-job begins tasks at a new level, it looks at the number of
tasks scheduled for that level.  If that's smaller than the maximum
number of slots available, then it only considers slots "free" up to
the number of tasks scheduled, or the number of nodes available,
whichever is greater.

This change lets Crunch scale whole-node resources like RAM more
effectively.  This may not be desired if a level starts with a small
number of tasks queued, but later schedules more and wants maximum
parallelization, but that's uncommon enough that this seems like net
win.  Previously, Crunch could overallocate RAM in this scenario,
which seems worse.
sdk/cli/bin/crunch-job