Fix default mem/cpu requests for routed jobs

Description

The intended behavior of CPU and memory requests are described in these comments for the non-WholeNodeJob case:

However, there are slight differences with the equivalent logic in the JOB_ROUTER_DEFAULTS ( and ). For example, the JRD:

  • If xcount is defined use it as RequestCpus value otherwise

  • If xcount is undefined and RequestCpus > 1from the incoming job, leave RequestCpus alone

  • if neither of the above is true, set RequestCpus from default_xcount

  • RequestMemory from the incoming job is not considered at all

For the stable series, let’s make sure that our post route transforms precisely match the logic of the existing JOB_ROUTER_DEFAULTS.

Original Issue Report

Due to historical reasons, HTCondor-CE clients submit resource requests according to the table documented here:

To respect these submit commands but also respect incoming native CPU/mem requests, we try to use DEFAULT in the default post route transforms:

However with the way that DEFAULT works and because condor_submit will set default RequestMemory and RequestCpus (and most CE clients will use condor_submit), any xcount or maxMemory requests are ignored.

Activity

Show:

Brian Lin August 26, 2021 at 7:47 PM

Clarified the description per your feedback

Brian Lin August 26, 2021 at 1:59 PM

First review in the PR, passing it back to you

Brian Lin August 19, 2021 at 7:43 PM
Edited

More generally, I don’t think it makes sense to use DEFAULT for attrs that condor_submit sets by default

Fixed

Details

Time tracking

7.08h logged

Assignee

Strategic PI work

Yes

Fix versions

Priority

HTCondorCustomerGroup

OSG

Components

Reporter

Created August 19, 2021 at 4:31 PM
Updated September 25, 2021 at 7:05 PM
Resolved September 25, 2021 at 7:05 PM