Hi:
The previous limit I mentioned is actually done by condor cgroups
instead of 'ASSIGN_CPU_AFFINITY = True' . Tests shows that condor
cgroups make the restriction quite well.
Cheers,Gang
On 09/12/2014 15:56, qing wrote:
Hi, Anthony:
[root@node008 ~]# ps -aeF | grep stress
scotg001 5317 5315 0 1629 436 1 15:51 ?
00:00:00 stress --vm 4 --vm-bytes 800M --timeout 600s
scotg001 5318 5317 99 206430 487584 1 15:51 ? 00:01:07
stress --vm 4 --vm-bytes 800M --timeout 600s
scotg001 5319 5317 99 206430 778400 3 15:51 ? 00:01:07
stress --vm 4 --vm-bytes 800M --timeout 600s
scotg001 5320 5317 99 206430 399520 0 15:51 ? 00:01:07
stress --vm 4 --vm-bytes 800M --timeout 600s
scotg001 5321 5317 99 206430 655520 2 15:51 ? 00:01:07
stress --vm 4 --vm-bytes 800M --timeout 600s
So the core used here are 0,1,2,3.
Can you mention more details about 'use taskset to determine cpu
affinity' ?
Cheers,Gang
On 09/12/2014 15:43, Anthony Tiradani
wrote:
Your
top output doesn't show which core the processes are using.
what does ps -aeF show? The PSR column will show the last core
that the process ran on. You can also use taskset to determine
cpu affinity.
Thanks,
Anthony Tiradani
On 12/09/2014 08:15 AM, qing wrote:
Dear Condor Expert:
I am using condor 8.2.2 and from the manual I see that if
we set
'ASSIGN_CPU_AFFINITY = True' for the STARTD daemon, then a
multi-threaded job will not use more cores than the number it
requests.
I made a quick test but seems 'ASSIGN_CPU_AFFINITY = True'
does not work:
1. I added 'ASSIGN_CPU_AFFINITY = True' for the STARTD daemon,
after
that I restarted the condor daemon on node008.
[root@node008 ~]# condor_config_val -dump | grep AFFINI
ASSIGN_CPU_AFFINITY = True
2. I submit a 4 threads job to node008, but I assign
'RequestCpus = 1'
in the submission file:
[scotg001@node003 test]$ condor_submit submit.stress
Submitting job(s).
1 job(s) submitted to cluster 41.
[scotg001@node003 test]$ cat submit.stress
Universe = vanilla
Executable = stress.sh
Output = stress.out
Log = stress.log
RequestMemory = 1000
RequestCpus = 1
requirements = ((Arch == "INTEL" || ARCH == "X86_64")
&& (machine
=="node008"))
Queue 1
[scotg001@node003 test]$ cat stress.sh
#!/bin/bash
echo $HOSTNAME
echo `date`
stress --vm 4 --vm-bytes 800M --timeout 60s
3. Condor shows that this job requires 1 cpu:
[scotg001@node003 test]$ condor_history 41.0 -af RequestCpus
1
but on node008 with top I can see the job is actually
occupying 4 cores.
5232 scotg001 30 10 806m 767m 140 R 94.7 9.8 0:07.60
stress
5233 scotg001 30 10 806m 651m 140 R 94.7 8.3 0:07.48
stress
5230 scotg001 30 10 806m 15m 140 R 92.9 0.2 0:07.46
stress
5231 scotg001 30 10 806m 201m 140 R 92.9 2.6 0:07.54
stress
Any idea why 'ASSIGN_CPU_AFFINITY = True' does not work as
expected?
I use partitionable slots but in 8.2.2 the previous bug should
already
be fixed.
Cheers,Gang
_______________________________________________
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/
_______________________________________________
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/
|