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

Re: [HTCondor-users] How to tie slots to cpus ?



I think it's worth adding to Greg's response that I don't believeÂASSIGN_CPU_AFFINITY will, all on its own, map jobs to NUMA nodes. I believe your best bet here is to create N partitionable slots, with N equal to the number of physical CPUs you have. Then combine ASSIGN_CPU_AFFINITY andÂSLOT<N>_CPU_AFFINITY so that each slot is mapped to NUMA nodes.

If you want to polish the doorknob, you should also look into setting cgroup cpusets on HTCondor so that it has "exclusive" access where it can and that the other top-level cgroups (e.g. system.slice) do not have access to very many cores. There obviously has to be some overlap unless you're willing to reduce the # of cores available to HTCondor.

https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpusets.html

PS: you should consider reducing the "cpuquota" available to HTCondor in its cgroup. It's always good to have 0.25 core available for ssh!

https://www.kernel.org/doc/html/latest/admin-guide/cgroup-v1/cpuacct.html

Tom



On Fri, Sep 3, 2021 at 11:00 AM Greg Thain <gthain@xxxxxxxxxxx> wrote:

> However I don't want to run HTCondor as root, is there a way to tell
> HTCondor to use only one cpu for all the threads in a process while not
> running as root?

The ASSIGN_CPU_AFFINITY will work as non-root.

-greg


_______________________________________________
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/