batch::PlacementSolver

Chooses where a job runs, scores every option, and says why (work-placement §WPS-4).

Declared in src/libs/libbatch/batch/PlacementSolver.hpp
Group batch

Detailed description

Three stages, after Kubernetes' scheduler and HTCondor's matchmaking:

  1. Filter. A hard rule removes an option and writes one line of the reason.
  2. Score. Each remaining option gets an expected finish and a money cost; the score is the finish plus λ times the money.
  3. Prefer here. The local option wins when its score is within the margin ε of the best.

With no run time, learned or declared, the scores are unknown. The job then runs here when here has room now, and leaves when here has none and a worker takes it: no estimate is no evidence that leaving pays (§WPS-6), and no room here is.

In this section