Close
Page 1 of 4 1 2 3 ... LastLast
Showing results 1 to 10 of 31
  1. #1

    Default Core i7 Affinity

    I am currently boxing 5 wow accounts with 1 main account and 4 slaves on 1 account on a single raptor HD.

    I am running them symlinked. My questions is that with the new Core i7 920 what is the best affinity to set the two different accounts to?

    My current affinity is 5 on the main and 10 on the slaves... At least that was what worked best for me with my q6600 but now with this new processor does it even matter. What should I do.

    Also I am getting about a 57% load on core 0 and on cores 1-3 i am getting about 20-28% load when boxing.

    Thanks for the help.

  2. #2

    Default

    I tried this out a bit using a Q9450 and 5 clients.

    The optimal results for me was to let the OS decide the core to run each client on, and also change the ProcessAffinityMask in config.wtf to 15 (which allows it to use any two of four cores).

    http://forums.worldofwarcraft.com/th...cId=1778017311

  3. #3

    Default RE: Core i7 Affinity

    Quote Originally Posted by 'Sydwayz',index.php?page=Thread&postID=158904#post 158904
    I am currently boxing 5 wow accounts with 1 main account and 4 slaves on 1 account on a single raptor HD.

    I am running them symlinked. My questions is that with the new Core i7 920 what is the best affinity to set the two different accounts to?

    My current affinity is 5 on the main and 10 on the slaves... At least that was what worked best for me with my q6600 but now with this new processor does it even matter. What should I do.

    Also I am getting about a 57% load on core 0 and on cores 1-3 i am getting about 20-28% load when boxing.

    Thanks for the help.
    If Blizzard still restricts the client to two cores then it might matter a lot, especially if you have hyperthreading on. I suggest testing by setting the affinities manually after your WoWs are running. You can do this with the operating system or (more conveniently) with a third-party program like HotkeyNet. You could compare these two schemes as well as the default scheme and see which of the three gives best results.

    Both schemes assume hyperthreading is on.

    WoW 1 on cores 0 and 4
    WoW 2 on cores 1 and 5
    WoW 3 on cores 2 and 6
    WoW 4 on cores 3 and 7
    WoW 5 on cores 3 and 7

    -- or --

    Every WoW on all eight cores

    Microsoft article about setting affinity on hyperthreaded cpu's:

    http://msdn.microsoft.com/en-us/magazine/cc300701.aspx
    �Author of HotkeyNet and Mojo

  4. #4

    Default

    I have tried the following on a 920, the observations have been made during the high load scenarios of AV and the new Wintergrasp where you might have up to 30 people fighting in a small space.

    No affinity set - Load stacks up primarily on 0 and 1, to the point of saturation on 1. Many cpu intensive scenarios stutter and become unplayable.

    Affinity set 01,23,45,67 - Much better performance but still not ideal (I'm not clear on which cores are physical and which are virtual in the process manager. Pairing physical and ht cores may be important?)

    Affinity set 01234567 across all four clients - Best performance of the three I have tried, however the second core does still seem to take a higher load than the others.

    I am still not entirely happy with the performance in high load situations, I will try the other configurations mentioned and report back.
    Team Turbo!
    Shaman x 4, Deathknight
    Spinebreaker EU (H) - join channel 'multiboxer' to chat with our local boxing community

  5. #5

    Default

    Quote Originally Posted by 'turbonapkin',index.php?page=Thread&postID=158969# post158969
    No affinity set - Load stacks up primarily on 0 and 1, to the point of saturation on 1. Many cpu intensive scenarios stutter and become unplayable.
    This is consistent with reports that Wow sets itself by default to run on just two cores. Obviously this is bad for multiboxers.

    I'm not clear on which cores are physical and which are virtual in the process manager. Pairing physical and ht cores may be important?
    When hyperthreading is enabled, all these cores that you assign when you set affinity are "logical" cores. They correspond to physical cores as follows:

    Logical 0 and 4 are both on the first physical core.
    Logical 1 and 5 are both on the second physical core.
    Logical 2 and 6 are both on the third physical core.
    Logical 3 and 7 are both on the fourth physical core.

    As for pairing, that's a good question, and that's the main reason why Windows allows us to set affinity. The main issue in pairing is cache. 0 and 4 share all levels of cache, same with 1 and 5, etc. Therefore it's usually a good idea to set a process to 0 and 4 before adding a third core, or to 1 and 5, or to 2 and 6, etc.

    Affinity set 01234567 across all four clients - Best performance of the three I have tried, however the second core does still seem to take a higher load than the others.
    I would expect this to be the best because when you set it this way, you're telling the thread scheduler (which is an incredibly important part of Windows), "you have maximum freedom to optimize the load on the CPU however you think is best. " Microsoft has spent millions and millions of dollars over many years optimizing and fine tuning the thread scheduler -- it's probably one of the most carefully written pieces of software in the history of computers -- and it seems incredibly unlikely to me that WoW players could do a better job by throwing a couple of static numbers in a config file than this extraordinary piece of software can do dynamically while the system is running. And yet -- until we test, we don't know.

    As for the second core taking a higher load, I think this is because the thread scheduler tends to keep threads that belong to the same process on the same core. This minimizes cache misses. In other words, the scheduler is probably juggling cache issues vs. load balancing. But I'm only guessing. So far as I know, Microsoft has never documented the thread scheduler's algorithm. In fact they say repeatedly in their documentation that "A thread is normally scheduled to execute on any available logical CPU in the system. " (That's a quote from the article I linked above.) But as you saw, the thread scheduler was favoring core 2 for some reason. Probably if core 2 became saturated the scheduler would shift some of core 2's threads elsewhere.

    I am still not entirely happy with the performance in high load situations, I will try the other configurations mentioned and report back.
    Great! Looking forward to hearing more.
    �Author of HotkeyNet and Mojo

  6. #6

    Default

    Is having a core being used 99% really a bad thing if the schedular is as good as you say?

    Please correct me if I have 0 grasp of whats going on, but it sounds to me like they are doing this:
    First core is left with a little leg room for whatever task might pop up before it has a chance to swap them over.
    Second core is filled doing all the work it can. Everything that the second core can't handle, gets spread amongst the rest.
    100% usage is only a problem if something is not getting done, due to not being able to get its cycles completed. If those cycles are handed to another core, is there a problem?
    [align=center]|- The Dread Pirates -|
    |- US Blackrock Horde -|[/align]

  7. #7

    Default

    Quote Originally Posted by 'Freddie',index.php?page=Thread&postID=158978#post 158978
    Therefore it's usually a good idea to set a process to 0 and 4 before adding a third core, or to 1 and 5, or to 2 and 6, etc.
    I thought some more about that and I want to take it back. Microsoft's white paper on hyperthreading advises that with some threads it's better to run them together on one physical core so they can share cache. But with other threads that stall for the same reasons, it's better to run them on separate physical cores. However that advice is about setting affinities for individual threads. As users we aren't allowed to set affinities for individual threads. We're only allowed to set affinity for processes (groups of threads). When I wrote that I was trying to think how to apply this advice about threads to whole processes. On second thought I think it's probably better with a whole application like WoW to test it both ways and see what works better for it. I.e. for an individual WoW try 0+1 vs 0+4. For multiboxed WoWs try 0+1, 2+3, 4+5, 6+7 vs 0+4, 1+5, 2+6, 3+7.

    Microsoft white paper on hyperthreading:
    http://www.microsoft.com/whdc/system...t-windows.mspx
    �Author of HotkeyNet and Mojo

  8. #8

    Default

    Quote Originally Posted by 'Clanked',index.php?page=Thread&postID=159047#post 159047
    Please correct me if I have 0 grasp of whats going on, but it sounds to me like they are doing this...
    We can open Task Manager and look at the CPU graphs and see what they're doing. For example, the PC I'm using has two physical cores and it's extremely lightly loaded (overall about 2 percent) but even so, the graphs show that the scheduler is dividing the load between the two cores. If you check your own PC, I think you'll find the same thing under most conditions.

    100% usage is only a problem if something is not getting done, due to not being able to get its cycles completed. If those cycles are handed to another core, is there a problem?
    Yes but the scheduler isn't only concerned with avoiding problems. It's designed to maximize performance. It's not good enough that everything gets done. The goal is to get everything done as quickly as possible. This means minimizing the amount of time that threads have to wait before they can run, etc.
    �Author of HotkeyNet and Mojo

  9. #9

    Default

    I was referring to "however the second core does still seem to take a higher load than the others."

    I never said they were waiting to be executed, it just makes it seem like it will fill core 2, then offload to the rest.
    [align=center]|- The Dread Pirates -|
    |- US Blackrock Horde -|[/align]

  10. #10

    Default

    Took some screenies while playing. Each one was taken during high load in AV. Obviously there's no science in this, but as an indication to those that are interested:

    Affinity 01-23-45-67 (Plays well):



    Affinity 04-15-26-37 (also plays well):


    No Affinity (This was nasty and not playable)


    Incidentally, after 2 hours of playing and recording these results I noticed that memory usage was extremely low on all clients:


    I had thought I would need to uprgade from 6GB of triple channel to 12GB based on my experiences with a Core 2 Duo system with 4GB but apparently not (unless I want to turn off my paging file, which I may do in the future).

    If you want me to run any other affinity combinations let me know.
    Team Turbo!
    Shaman x 4, Deathknight
    Spinebreaker EU (H) - join channel 'multiboxer' to chat with our local boxing community

Similar Threads

  1. Quad core, setting affinity - is there a way to save?
    By Clovis in forum Hardware Tools
    Replies: 7
    Last Post: 02-22-2009, 04:48 PM
  2. i7/Nehalem Core Affinity issue
    By Reglar in forum Software Tools
    Replies: 3
    Last Post: 01-03-2009, 07:58 PM
  3. Affinity?
    By Lowvez in forum General WoW Discussion
    Replies: 11
    Last Post: 08-26-2008, 05:22 PM
  4. Quad Core 4 Boxing Affinity Settings
    By Thulos in forum Hardware Tools
    Replies: 6
    Last Post: 07-30-2008, 12:54 PM
  5. Setting Core Affinity (or whatever it's called)
    By Perrigrin in forum New Multi-Boxers & Support
    Replies: 7
    Last Post: 07-11-2008, 11:28 AM

Posting Rules

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •