Requesting resources with an HTCondor job¶
HTCondor enables jobs to specify the minimum size of various machine resources are required to support your job through the following submit commands:
request_disk
request_memory
In general with HTCondor these are optional, with the defaults set according to the local administrator's chosen policy. For IGWN workflows, in order to minimise failures because jobs are matched with unsufficient resources, specifying these commands will become mandatory.
Include units in all resource requests
The resource request attributes should all be given as a string that includes the unit associated with the numeric value, e.g.
request_disk = 100 MB
The unit should be one of: KB
(kilobytes), MB
(megabytes), GB
(gigabytes), or TB
(terabytes).
Numeric values without units are interpreted as multiples of the default unit, which is not consistent across the various attributes (e.g. request_disk
is in KB, while request_memory
is MB).
For more information, see the condor_submit
manual.
Automatically increasing memory or disk requests
It is possible to set up macros to automatically increase memory requests. For example, in the PyCBC offline search for O4 analysis, these lines show a recipe for automatically increasing the request when the previous hold reason is due to excessive memory use.
Note that in this example, the lines after condor|
are directly added to the condor submit file. The macros used to define the memory and disk requests also do not play nicely with specifying units, so these should be in the default units which are MiB for memory and KiB for disk.