[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [HTCondor-users] How to change the RequestMemory of condor jobs



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