Project

General

Profile

Feature #2180

releng matrices would work better with a hint for execution

Added by Mark Abraham over 2 years ago. Updated over 2 years ago.

Status:
Fix uploaded
Priority:
Low
Assignee:
-
Category:
Jenkins
Target version:
-
Close

Description

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.


Related issues

Related to GROMACS - Task #2161: update the way testing matrices are specifiedClosed

History

#1 Updated by Mark Abraham over 2 years ago

  • Related to Task #2161: update the way testing matrices are specified added

#2 Updated by Mark Abraham over 2 years ago

  • Project changed from GROMACS to Support Platforms
  • Category deleted (releng)

#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.

Also available in: Atom PDF