releng matrices would work better with a hint for execution
Ideally, we'd have reproducible builds with a workload distributed over the available machines and execution slots so that the turn-around time for a single verify was reliably in the 15-30 minute range.
It would be good to be able to specify something like
icc-16.0 cmake-3.8.1 hosthint=bs_mic
as a non-binding hint for which slave would be good to handle the matrix line, so that if bs_nix1310 also matches those tags then there's a way to specify the intent of the workload distribution. This avoids us wanting to modify releng, e.g. to comment out software versions that are installed and might be usable. This would permit us to have redundancy of installed and available things on the slaves, but also a reproducible dispatch mechanism that is capable of balancing work even if slaves would become unavailable for some reason.
An alternative would be to avoid dispatching to e.g. a gpu slave if the matrix line does not specify a gpu build/test. But that doesn't scale all that well - you'd also want to avoid dispatch to e.g. the static-analyzer slave, which takes a relatively long time.
#3 Updated by Mark Abraham over 2 years ago
- Category set to Jenkins
- Status changed from New to Fix uploaded
- Priority changed from Normal to Low
https://gerrit.gromacs.org/#/c/6646/ gets enough of this done that we can balance load, e.g. by striping CMake versions across slaves in a group, and tweaking which slave gets a job by specifying a cmake version.