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

Re: [HTCondor-users] Steer job towards high memory nodes



Thanks for your reply. Not sure whether I followed you properly but I tried to keep ifthelse outside theÂNEGOTIATOR_PRE_JOB_RANK unfortunately it didn't give the expected results. Here is the whole conf related toÂNEGOTIATOR_PRE_JOB_RANK.

# 10^13 * [1,100] = [10^13, 10^15]
machine_rank = 10000000000000 * My.Rank
# 10^8 * [0, ~3*10^5] = [10^8, ~3*10^13]
# assume 150,000 kbs per disk, 30 cpus
disk_speed_rank = 100000000 * ( DiskKBS - 5000 * ( totalcpus - cpus ) )
# 10^6 * [1, 100] = [10^6, 10^8]
cpu_utilization_rank = 1000000 * ifthenelse(cpus==totalcpus, \
                        int(totalloadavg+0.99), \
                        ifthenelse(int(totalloadavg)>sum(childcpus), \
                            int(totalloadavg), \
                            sum(childcpus)))
cpu_utilization_rank = quantize($(cpu_utilization_rank), {1})
# 10^4 * [1, 100] = [10^4, 10^6]
disk_utilization_rank = 10000 * int(spareutil)
disk_utilization_rank = quantize($(disk_utilization_rank), {1})
# [2^10, 16*2^10] ~ [10^3, 16*10^3]
memory_rank = quantize(memorypercore,{1024})
#memory_machine_rank = ifthenelse(TARGET.requestmemory > 5342 && TARGET.requestcpus == 1, 1000000 * int(highmemory =?= true), 0 * int(highmemory =!= true))
memory_machine_rank = ifthenelse(TARGET.requestmemory > 5342 && TARGET.requestcpus == 1, 1000000 * $(memory_rank), 0 * $(memory_rank))
NEGOTIATOR_PRE_JOB_RANK = $(machine_rank) \
            + $(disk_speed_rank) \
            - $(cpu_utilization_rank) \
            - $(disk_utilization_rank) \
            #+ $(memory_rank) \
            + $(memory_machine_rank) \
            - totalcpus

a) First I tried commented machine_memory_rank with keeping both memory_rank and memory_machine_rank in NEGOTIATOR_PRE_JOB_RANK but it didn't given the expected results.Â
b) Tried with uncommented one again jobs are randomly getting distributed to any node.Â

In our case Machine Rank is 0 for all nodes.Â

Thanks & Regards,
Vikrant Aggarwal


On Thu, Sep 19, 2019 at 7:43 PM Michael Pelletier <Michael.V.Pelletier@xxxxxxxxxxxx> wrote:

Maybe the recursion is confusing it? Try defining a âhighmemory-rankâ value with the if statement, and then adding it to the negotiator_pre_job_rank sum.

Â

Michael V. Pelletier
Information Technology
Digital Transformation & Innovation
Integrated Defense Systems
Raytheon Company

Â

From: HTCondor-users <htcondor-users-bounces@xxxxxxxxxxx> On Behalf Of Vikrant Aggarwal
Sent: Thursday, September 19, 2019 8:56 AM
To: HTCondor-Users Mail List <htcondor-users@xxxxxxxxxxx>
Subject: [External] Re: [HTCondor-users] Steer job towards high memory nodes

Â

Hello Experts,

Â

Any inputs on it.

Â

Thanks & Regards,

Vikrant Aggarwal

Â

Â

On Tue, Sep 17, 2019 at 5:06 PM Vikrant Aggarwal <ervikrant06@xxxxxxxxx> wrote:

Hello Experts,

Â

I want to steer jobs with memory greater than 5342MB to highmemory nodes. HighMemory is added to machine classAD and value is either true or false.Â

Â

_expression_ used to achieve this:Â

Â

NEGOTIATOR_PRE_JOB_RANK = $(machine_rank) \
            + $(disk_speed_rank) \
            - $(cpu_utilization_rank) \
            - $(disk_utilization_rank) \
            + $(memory_rank) \
            - totalcpus

Â

NEGOTIATOR_PRE_JOB_RANK = ifthenelse(requestmemory > 5342 && requestcpus == 1, $(NEGOTIATOR_PRE_JOB_RANK) + 1000000 * (HighMemory =?= true), $(NEGOTIATOR_PRE_JOB_RANK) + (HighMemory =!= true))

Â

But still jobs with high request memory like 7000 MB going to machines with machine classAD of "HighMemory false".Â

Â

It's partitionable slot setup with scheduler splitting enabled. I want to avoid injecting the hard requirement for high memory node in submit file.Â

Â

Can anyone please help to understand what is wrong here.


Thanks & Regards,

Vikrant Aggarwal

_______________________________________________
HTCondor-users mailing list
To unsubscribe, send a message to htcondor-users-request@xxxxxxxxxxx with a
subject: Unsubscribe
You can also unsubscribe by visiting
https://lists.cs.wisc.edu/mailman/listinfo/htcondor-users

The archives can be found at:
https://lists.cs.wisc.edu/archive/htcondor-users/