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

Re: [Condor-users] CPU Affinity Controlling



Might I ask what logic you use for the core assignment numbers on
windows.

I ask only so that I can replicate it, use coreinfo
(http://technet.microsoft.com/en-us/sysinternals/cc835722.aspx) to work
out which way the sockets/cores are enumerated and then ensure that
those slots being given multiple cores are on the same socket.

Some prior analysis on our code based on using a NUMA aware version of
windows server showed significant performance benefit to this on Hyper
Transport based machines, it is likely that the new interconnect on the
latest intel cpus will demonstrate similar behaviour not to mention the
benefit when the multiple cores share level three cache.

Aslo could I ask that changing of the algorithm used for the core
numbering is considered a breaking change worthy of mention on this list
and in the release notes.

Thanks,
Matt

-----Original Message-----
From: condor-users-bounces@xxxxxxxxxxx
[mailto:condor-users-bounces@xxxxxxxxxxx] On Behalf Of Greg Thain
Sent: 05 March 2009 15:48
To: Condor-Users Mail List
Subject: Re: [Condor-users] CPU Affinity Controlling


> Can you describe how CPU affinity control works?
>   

The documentation is lagging on this feature, but here's a quick
overview.  It only works on Windows and recent linux versions.

If you haven't changed NUM_CPUS to support extra slots, and you want one
CPU core per Condor slot, just set

ENFORCE_CPU_AFFINITY = true

in the condor_config file on the startd side, and each slot will be
bound to a single CPU core.  If affinity is being set, and D_FULLDEBUG
is on, there will be a line indicating this printed to the StarterLog. 

If you want more control, you can set ENFORCE_CPU_AFFINITY=true and set
the CPU affinities per slot by saying, for example:

SLOT1_CPU_AFFINITY=0,1
SLOT2_CPU_AFFINITY=1,2,3

which means that jobs on slot1 run on cores 0 and 1.  Note that slots
are enumerated with 1 based numbering and CPU cores with zero based.

We are interested in feedback and the results of using these settings in
real world job mixes.  Our belief is that enforcing CPU affinity will
increase fairness and potentially decrease overall throughput.  The
Linux process scheduler is said to be designed to share priority when a
parent process forks, so that spawning many processes doesn't improve
your effective priority.

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

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

----
Gloucester Research Limited believes the information provided herein is reliable. While every care has been taken to ensure accuracy, the information is furnished to the recipients with no warranty as to the completeness and accuracy of its contents and on condition that any errors or omissions shall not be made the basis for any claim, demand or cause for action.
The information in this email is intended only for the named recipient.  If you are not the intended recipient please notify us immediately and do not copy, distribute or take action based on this e-mail.
All messages sent to and from this email address will be logged by Gloucester Research Ltd and are subject to archival storage, monitoring, review and disclosure.
Gloucester Research Limited, 5th Floor, Whittington House, 19-30 Alfred Place, London WC1E 7EA.
Gloucester Research Limited is a company registered in England and Wales with company number 04267560.
----