Mailing List Archives
Authenticated access
|
|
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [HTCondor-users] How to change the RequestMemory of condor jobs
- Date: Wed, 2 Jul 2025 15:35:37 +0000
- From: "Luehring, Frederick C" <luehring@xxxxxx>
- Subject: Re: [HTCondor-users] How to change the RequestMemory of condor jobs
Hey ...Tim,
Could you explain what is meant by:
> # Note that if the route does the condor thing and sets RequestMemory, this transform will stomp on that
I am a little lost on what this sentence means also. Also the way this
comment is written:
> # 1. 'maxMemory' from the source job if it's defined
This seems like setting RequestMemory is set ignoring any maximum memory
restriction on server that will run the job. I guess that the job is
only matched to a server that has a high enough memory limit to run it
but I wanted to be sure.
Fred
On 7/2/25 10:32, Tim Theisen via HTCondor-users wrote:
> Hello Wendy,
>
> I missed this question since it was a reply to another question.
> Unfortunately, the handling of RequestMemory is not straightforward. The
> comments in the default ce routes shed some light on this:
>
> ÂÂÂ # Outside of the HTCondor WholeNodeJobs case, set RequestMemory to
> one of the following, in order:
> ÂÂÂ # 1. 'maxMemory' from the source job if it's defined
> ÂÂÂ # 2. default_MaxMemory from the job route
> ÂÂÂ # 3. 2000
> ÂÂÂ # Note that if the route does the condor thing and sets
> RequestMemory, this transform will stomp on that
>
> Hopefully this advice helps.
>
> ...Tim
>
> On 6/25/25 15:20, Wendy Dronen wrote:
>> Dear All,
>> We would like to change the RequestMemory from the job router of
>> HTCondor-CE, and this is what we have in the job router file[1],
>> Â ÂEVALSET RequestMemory maxMemory * 1.1
>> Â ÂEVALSET RequestVirtualMemory maxMemory * 2.2
>>
>> however it does not seem to work, we can see the job's RequestMemory
>> is still set to equal to the maxMemory which was a field set by the
>> ATLAS jobs in their job submission file.
>> # condor_q 1725991 -l |grep -i 'memory.* = '
>> JobMemory = RequestMemory
>> JobMemoryLimit = 13516800.0
>> maxMemory = 6000
>> RequestMemory = 6000
>>
>> Could you shed some light on this?
>>
>> Cheers!
>>
>> -Wenjing (AGLT2)
>> [1]
>> ##### Route 1
>> JOB_ROUTER_ROUTE_ATLASProductionMCOREQueue @=jre
>> Â ÂNAME ATLAS Production MCORE Queue
>> Â ÂUNIVERSE VANILLA
>> Â ÂREQUIREMENTS regexp("usatlas",Owner) && ifThenElse(xcount =?=
>> undefined,false,xcount == 8)
>> Â Â# autoconversion of route 'ATLAS Production MCORE Queue' from old
>> route syntax
>> Â Â# set_* rules
>> Â ÂSET IsAnalyJob false
>> Â ÂSET IsLustreJob false
>> Â ÂSET IsMediumJob false
>> Â ÂSET IsShortJob false
>> Â ÂSET IsTestJob false
>> Â ÂSET IsTier3TestJob false
>> Â ÂSET IsUnlimitedJob false
>> Â ÂSET JobPrio 26
>> Â ÂSET localQue "MP8"
>> Â ÂSET PeriodicRemove (RemoteWallClockTime > (3 * 24 * 60 * 60 + 5 * 60))
>> Â ÂSET Rank 100 / (1 + (MaxMemory / RequestCpus / 1000 -
>> TARGET.DetectedMemory / TARGET.DetectedCpus / 1000) * (MaxMemory /
>> RequestCpus / 1000 - TARGET.DetectedMemory / TAR
>> GET.DetectedCpus / 1000))
>> Â ÂSET RequestAnalyTask 0
>> Â ÂSET RequestLMEMTask ifThenElse(maxMemory =!=
>> undefined,ifThenElse(maxMemory <= 47992,0,8),0)
>> Â ÂSET requirements ((TARGET.TotalDisk =?= undefined) ||
>> (TARGET.TotalDisk >= 21000000)) && (TARGET.Arch == "X86_64") &&
>> (TARGET.OpSys == "LINUX") && (TARGET.Disk >= Reques
>> tDisk) && (6.1 * TARGET.DetectedMemory / TARGET.DetectedCpus >=
>> RequestMemory / RequestCpus) && (TARGET.HasFileTransfer) &&
>> (TARGET.Cpus >= 8)
>> Â ÂSET Slot_Type "mp8"
>> Â Â# eval_set_* rules
>> Â ÂEVALSET AccountingGroup ifThenElse(maxMemory =!=
>> undefined,ifThenElse(maxMemory <=
>> 16000,strcat("group_gatekpr.prod.",Owner),ifThenElse(maxMemory <=
>> 24000,strcat("group_
>> gatekpr.prod.",Owner,"_HMEM"),strcat("group_gatekpr.prod.",Owner,"_VHMEM"))),strcat("group_gatekpr.prod.",Owner))
>> Â ÂEVALSET JobLeaseDuration 7200
>> Â ÂEVALSET JobMemoryLimit maxMemory * 2.2 * 1024
>> Â ÂEVALSET RequestCpus ifThenElse(xcount =!= undefined,xcount,8)
>> Â ÂEVALSET RequestMemory maxMemory * 1.2
>> @jre
>>
>> ##### Route 2
>> JOB_ROUTER_ROUTE_ATLASProductionSCOREQueue @=jre
>> Â ÂNAME ATLAS Production SCORE Queue
>> Â ÂUNIVERSE VANILLA
>> Â ÂREQUIREMENTS ifThenElse(queue =?=
>> undefined,regexp("usatlas1",Owner),ifThenElse(xcount =?=
>> undefined,regexp("usatlas1",Owner),(queue == "prod" || queue ==
>> "Prod") && xco
>> unt == 1))
>> Â Â# autoconversion of route 'ATLAS Production SCORE Queue' from old
>> route syntax
>> Â Â# set_* rules
>> Â ÂSET IsAnalyJob false
>> Â ÂSET IsLustreJob false
>> Â ÂSET IsMediumJob false
>> Â ÂSET IsShortJob false
>> Â ÂSET IsTestJob false
>> Â ÂSET IsTier3TestJob false
>> Â ÂSET IsUnlimitedJob false
>> Â ÂSET JobPrio ifThenElse(maxMemory =!= undefined,ifThenElse(maxMemory
>> =?= 2048,56,16),16)
>> Â ÂSET localQue "Default"
>> Â ÂSET PeriodicRemove (RemoteWallClockTime > (3 * 24 * 60 * 60 + 5 * 60))
>> Â ÂSET Rank 100 / (1 + (MaxMemory / RequestCpus / 1000 -
>> TARGET.DetectedMemory / TARGET.DetectedCpus / 1000) * (MaxMemory /
>> RequestCpus / 1000 - TARGET.DetectedMemory / TAR
>> GET.DetectedCpus / 1000))
>> Â ÂSET RequestAnalyTask 0
>> Â ÂSET RequestLMEMTask ifThenElse(maxMemory =!=
>> undefined,ifThenElse(maxMemory <= 5999,0,1),0)
>> Â ÂSET requirements ((TARGET.TotalDisk =?= undefined) ||
>> (TARGET.TotalDisk >= 21000000)) && (TARGET.Arch == "X86_64") &&
>> (TARGET.OpSys == "LINUX") && (TARGET.Disk >= Reques
>> tDisk) && (6.1 * TARGET.DetectedMemory / TARGET.DetectedCpus >=
>> RequestMemory / RequestCpus) && (TARGET.HasFileTransfer) &&
>> ifThenElse(TARGET.SCORE =?= true,true,TARGET.Cpu
>> s % 8 =!= 0)
>> Â Â# eval_set_* rules
>> Â ÂEVALSET AccountingGroup ifThenElse(maxMemory =!=
>> undefined,ifThenElse(maxMemory <=
>> 2000,strcat("group_gatekpr.prod.",Owner),ifThenElse(maxMemory <=
>> 3000,strcat("group_ga
>> tekpr.prod.",Owner,"_HMEM"),strcat("group_gatekpr.prod.",Owner,"_VHMEM"))),strcat("group_gatekpr.prod.",Owner))
>> Â ÂEVALSET JobLeaseDuration 7200
>> Â ÂEVALSET JobMemoryLimit maxMemory * 2.2 * 1024
>> Â ÂEVALSET RequestCpus ifThenElse(xcount =!= undefined,xcount,1)
>> Â ÂEVALSET RequestMemory maxMemory * 1.1
>> Â ÂEVALSET RequestVirtualMemory maxMemory * 2.2
>> @jre
>>
>>
>> Cheers!
>>
>> -Wenjing
>>
>> _______________________________________________
>> HTCondor-users mailing list
>> To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx
>> with a
>> subject: Unsubscribe
>>
>> The archives can be found at: https://
>> nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwww-
>> auth.cs.wisc.edu%2Flists%2Fhtcondor-
>> users%2F&data=05%7C02%7Cluehring%40iu.edu%7Cfde57e3c291f43475e1908ddb9756f79%7C1113be34aed14d00ab4bcdd02510be91%7C1%7C0%7C638870636226986964%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=H3ofI1E9tcjS%2BejlD2PzTvgAEcq2REmfp%2B%2B1c%2FMz0NU%3D&reserved=0
>
--
Please change my address luehring@xxxxxxxxxxx to luehring@xxxxxxx
All indiana.edu addresses will stop working in 2025.
Frederick Luehring luehring@xxxxxx +1 812 855 1025 IU
Indiana U. HEP Fred.Luehring@xxxxxxx +41 22 767 11 66 CERN