Log in

View Full Version : Keyclone on 5-boxes : recommended CPU Affinity ?



Taipan
02-29-2008, 02:27 PM
Greetings,

I did several searches around CPU Affinity or Keyclone Affinity but couldn't locate a fool-proof answer yet.

My setup : 5 boxes under Vista Family, Quadcore 6600 bios O/C to 3.0ghz, MSI Ati Radeon 3870 512mo, main on 22", 4 alts on 22".

I currently have 'none' for Cpu Affinity under Keyclone.

My question sub-divides into two.

1. What's the recommended CPU Affinity under Keyclone for Quads ?

2. If there is such a recommendation, what should be listed in each client Config.wtf "set processaffinitymask" -in case this could interfere with Keyclone own's affinity command- ?

Note : here's a thread with Blue comments on CPU Affinity http://forums.worldofwarcraft.com/thread.html?topicId=1778017311
http://forums.worldofwarcraft.com/thread.html?topicId=1778017311
/salute

keyclone
02-29-2008, 02:37 PM
hi Taipan,
no real recommended cpu settings. personally, i'd let the OS figure it out... but i could be wrong. i don't have a quad. personally, i could easily imagine multiple hard drives to improve performance i believe keyclone's cpu affinity was implemented before wow had any such capability. if your goal would be to assign each wow to a different core (assuming 4 wows).. then you would need multiple wow directories with a different config.wtf in each (in order to keep the cpu affinity mask settings correct between clients). in that case, setting keyclone to 'NONE' would insure it wouldn't interfere with wow's cpu setting

Taipan
02-29-2008, 03:05 PM
hi Taipan,









no real recommended cpu settings. personally, i'd let the OS figure it out... but i could be wrong. i don't have a quad. personally, i could easily imagine multiple hard drives to improve performance
i believe keyclone's cpu affinity was implemented before wow had any such capability. if your goal would be to assign each wow to a different core (assuming 4 wows).. then you would need multiple wow directories with a different config.wtf in each (in order to keep the cpu affinity mask settings correct between clients). in that case, setting keyclone to 'NONE' would insure it wouldn't interfere with wow's cpu setting

Gosh, your CS is faster every day Sir ... 8)

Drive wise, all 5 directories are on a Raptor 10,000rpm and doesn't seem to be a bottleneck once the zone is loaded.

My question was more specifically around the affinities for a Quad as this seems to be the current FOTM for starting/upgrading software Mboxers using your apps.

How to optimize 4 cores for 5 clients isn't obvious (ie. one core at least will need to handle two clients, if we start on a 1to1 basis), especially since WoW "untouched" will usually only allocate 2 cores -and leave 2 cores on Idle-, as I verified by myself when I began playing with my Quad setup and did the CTRL + ALT + DEL thingie :cursing:

/salute

Taipan
03-01-2008, 02:48 PM
Greetings,

I played around a bit with the processAffinityMask option in the config.wtf in the WTF directory (wtf... who chose that name 8) ) of my 5 clients.

Best combo I found so far seems to be :

Main : set at 1 (ie. use the Core 1 only)

Alts : all set at 14 (ie. use 2 cores, randomly chosen between 2,3 and 4).
Note : WoW can only use 2 cores so far.

This setup seems to give the highest FPS on my main, which is the key objective.
I tried 3 on Main (ie. use of cores 1 & 2) and 12 on alts (ie. use of cores 3 & 4), thinking this should give better FPS on my main (ie. 2 core usage vs. 1 core only) but it gave lower FPS.

I'll play around a bit and will update this thread if anything of interest for other Quad users comes up.


In case the link to the WoW thread dies, here's a blunt copy/paste of the map posted there for reference.
The value in the left column indicates what cores are used when set in the config.wtf for processaffinitymask.

????????????????????????????????????????????

? Mask ? Core 1 ? Core 2 ? Core 3 ? Core 4 ?

????????????????????????????????????????????

? 1 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 2 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 3 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 4 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 5 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 6 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 7 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 8 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 9 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 10 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 11 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 12 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 13 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 14 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????

? 15 ? ?? ? ?? ? ?? ? ?? ?

????????????????????????????????????????????
/salute

Taipan
03-02-2008, 01:33 PM
Update.

I found a better setup so far.

Main on "5" (ie. core 1 & 3)

Alts on "10" (ie. core 2 & 4)

Note 1 : for some obscure reasons, this seems to work faster and better than the initial "1& 2" + "3 & 4" test.

Note 2 : having Windows Media Player running in the background still seems to boost loading time when entering new zones.

/salute

Memn
04-03-2008, 03:23 PM
I have been using Keyclone to set my affinity. The affinity settings in the app only allow you to select one CPU per instance, so I went into the keyclone config file and set the affinity mask to 0x0F I don't remember if the number was represented as a hex, or as a decimal number (I'm at work now - so can't check). This tells keyclone to set each instance to all four cores, which is what I wanted... give all 5 access to all cores and let the OS figure it out.

Wilbur
04-03-2008, 07:23 PM
Taipen I'll think you'll find this is because of how the chip is designed.

The Q6600 is not a true quad core chip, its more like two dual-cores on one die. Because of this, the two that are paired together as the same dual-core would infact exchange information quicker. So It's the 1st and 3rd and the 2nd and 4th that are paired.

If anyone else knows more feel free to chip in.

keyclone
04-04-2008, 01:16 AM
wouldn't setting them all ON have the same effect as setting no preference? it would just let the OS decide on their use, no?

if you want, i'll add an ALL concept that does 0xFF

(still not sure how to do a multi-select combo box....)

Wilbur
04-04-2008, 05:53 AM
The OS *will* unless the program already has a default. WoW defaults to cores 0 and 1.

Memn
04-04-2008, 02:09 PM
wouldn't setting them all ON have the same effect as setting no preference? it would just let the OS decide on their use, no?

if you want, i'll add an ALL concept that does 0xFF

(still not sure how to do a multi-select combo box....)
I believe that setting them all on allows the OS to pick a processor each time a new thread is created - which is why i wanted to enable all. My CPU utilization in task manager shows a nice even load when I do it this way though.

I'm not sure if it will work if you set bits on for non-existent CPUs.. I think I tried that and it crashed. If you want, I can test it.

Also, if the even and odd CPUs share resources as Wilber suggests, it may be desirable to have "even" and "odd" setting available too.

I'm not sure what language your using for KeyClone - but you may look into using a combobox, or a listbox rather than a dropdownbox. Usually, listbox has multiselection functionality, and comboboxes can be configured to behaive that way too.. again, depends on your environment.