Close
Showing results 1 to 10 of 15

Threaded View

vchi Multiboxing Wiki - Multicpu,... 02-14-2009, 09:36 PM
vchi Multiboxing Wiki - Multicpu,... 02-14-2009, 09:37 PM
Natch Nice write-up. Information... 02-15-2009, 12:46 AM
vchi Multiboxing Wiki - Multicpu,... 02-15-2009, 11:44 PM
vchi Multiboxing Wiki - Multicpu,... 02-15-2009, 11:45 PM
vchi Multiboxing Wiki - Multicpu,... 02-16-2009, 04:36 PM
vchi Multiboxing Wiki - Multicpu,... 02-16-2009, 04:37 PM
vchi Multiboxing Wiki - Multicpu,... 02-16-2009, 04:37 PM
Gnies sticky the wiki 02-17-2009, 04:01 AM
dubiox Good stuff. What I have taken... 02-17-2009, 02:13 PM
vchi Dubiox- First thing is... 02-18-2009, 09:34 PM
Ken This is incorrect, as the... 02-19-2009, 07:33 AM
Moocifer 50% cut and paste Wikipedia.... 02-19-2009, 04:41 PM
vchi reply to Ken. 02-19-2009, 09:19 PM
vchi reply to Ken. Continuation. 02-19-2009, 09:19 PM
  1. #4

    Default Multiboxing Wiki - Multicpu, Multigpu, Multiharddrive, Multimonitor, etc and Bounded Issues. Continuation.

    3. CPU Bound:
    Observation 1:
    While in Outland and also in the original WoW, overclocking my 4 core setup from 2.66GHz to 3.2GHz resulted in a modest 5-10 fps increase in each of the WoW instances.
    Observation 2:
    For the 8 core setup, all WoW processAffinityMask are manual configured in the WTF as followed:
    WoW1 - SET processAffinityMask "15"
    WoW2 - SET processAffinityMask "240"
    WoW3 - SET processAffinityMask "240"
    WoW4 - SET processAffinityMask "240"
    WoW5 - SET processAffinityMask "15"


    For the 4 core setup, all WoW processAffinityMask are manual configured in the WTF as followed:
    WoW1 - SET processAffinityMask "15"
    WoW2 - SET processAffinityMask "15"
    WoW3 - SET processAffinityMask "15"
    WoW4 - SET processAffinityMask "15"
    WoW5 - SET processAffinityMask "15"


    Note 1: WTF Directory - C:\World of Warcraft\WTF
    Note 2: WoW by default (after installation) writes your WTF file with SET processAffinityMask "3". On loading of WoW, WoW writes your WTF file upon detection of number of cores available with SET coresDetected "X". X being the number of cores detected.
    Note 3: Leaving SET processAffinityMask "3" as is would have resulted in only cores 0 and 1 being overtaxed with too many WoW instances. By following the above setup, this would more evenly load balance your WoW over all eight cores or four cores.
    Note 4: In terms of the Core i7, any Core i7 derivative that supports hyperthreading or even any older generation platform that supports hyperthreading, I do not have any of these setups except for an old Pentium 4 which is broken, so I cannot test on whether or not WoW benefits from hyperthreading. However, there are numerous web articles that review hyperthreading and show whether or not certain applications and games benefit from hyperthreading.
    For more information on Core I7 and hyperthreading, please look at these sites:
    [H]ardOCP - http://www.hardocp.com/
    Anandtech - http://www.anandtech.com/
    Arstechnica - http://arstechnica.com/
    OCAU - http://www.overclockers.com.au/
    The Tech Report - http://www.techreport.com/
    Tom's Hardware - http://www.tomshardware.com/us/#redir
    For more information on Core i7 and in-depth technical discussions, please look at these sites:
    Arstechnica - http://arstechnica.com/
    The Tech Report - http://www.techreport.com/
    If you cannot understand what the above website states pertaining to hyperthreading, then here is the summary in a nutshell:
    Hyperthreading duplicates certain resources (the instruction and date executor is not one of them) located on the core. Hyperthreading benefit certain applications and games but under three conditions which are:
    1. Instructions that require data have a high probability of stalling (i.e. databases).
    2. Multiple instructions being executed at the same time require mixed resources (i.e. floating point vs integer).
    3. Thread scheduler / manager (whether it be a application or operating system based) is smart enough to schedule instructions in the most efficient manner (to keep cores busy, dealing with statement 1) with minimal resource conflict (to keep cores busy and not competing for similar resources, dealing with statement 2).
    Pertaing to WoW, this application requires a mix set of resources. For this example we are going to be talking about floating point and integer calculation operations. For a Core i7 with 4 cores and 8 threads (hyperthreading enabled), here are some example conditions where hyperthreading may affect WoW performance:
    Condition(s):
    1. Running all WoW instances with a core mask of 255 in conjunction with other CPU intensive applications (i.e movie or music player) in the background. Any modern operating system thread scheduler is design to allocate resources as efficiently as possible. However, when the system is put a load test and depending how big the load is, performance degradation is possible. In the case of multiple instances of WoW and a movie player, where all other variables are held to a constant, there will be execution contention on the cores. Since both applications use floating point calculations, there is a high probability that the arithmetic logic unit (ALU, using a generic term) will be saturated. How you say? The thread scheduler will first try to push the above application threads to any available real cores, once those cores are saturated, then the thread scheduler will try to push the threads to the virtualized cores. However, remember earlier that the hyperthreading does not duplicate all resources and one of those resources that is not duplicated is the executor (i.e. where calculations are done, using a generic term). So basically you have two threads competing for the same resource.
    2. Running all WoW instances with a core mask of 255. In this situation, it's a little more murky in terms of whether or not performance would be affected. However, if you have the unfortunate luck of having the thread scheduler allocate both instance of WoW on the same core (i.e. WoW1 is on real core 0 and WoW2 is on virtualized core 0 which is real core 0), you will take a performance hit. But in most cases, most operating system's thread scheduler are design to limit this possibility under the condition that no other (non-WoW) application is competing for the same resource, you do not overload your cores with too many WoW instances, and mathematical probability (i.e. luck).
    With luck and everything else in life, your mileage will vary according to your unique setup.
    Continuing on with observation 2, I did some long-term comparisons between different processAffinityMask between loading a single instance of WoW on one core mask, two core mask, and four core mask. Observing the windows task manager over an average 4-8 hour gaming session showed no noticeable performance difference whatsoever. Going from a single core mask to a dual core mask offered a slight performance improvement. Going from a dual core to a quad core offered no performance improvement.

    The one thing I do want to point out is a correlation with CPU usage and core mask. The formula I have developed is as follows:

    CPU usage for 1 WoW running on 1 core = (CPU usage for 1 WoW / number of core mask) * number of core mask

    No matter how many core masks a single instance of WoW received, this would always resulted in CPU usage equaling one core at full utilization. However, I did not test a core mask where all 8 cores were masked due to the non-uniform memory architecture (NUMA) of the dual quad core processor. Using a core mask above 4 would have resulted in lower performance due threads bouncing back and forth between the two processors and memory requests crossing over the hyper-transport (HT).

    Observation 3:
    At the time I had my 4 core setup and was currently still in Outland, my average framerate was 30 fps for each of the WoW instances. However, once I stepped into Zangarmarsh (but most notably when I got to the Horde flight point), all WoW instances fps dropped to 15-20 fps or lower. Mouse control and input was very sluggish. I tried every combination of core mask for each WoW instance, but that did not alleviate my issue. Only after upgrading to a dual quad core did this issue disappear. Afterwards, the only determination I could guess was related to WoW5 instance overloading WoW1 thru WoW4 due to my setup only having 4 cores available.
    Observation 4:
    Using the 4 core setup, whenever I minimized one or more WoW instance, I noticed on the performance monitor a large drop in CPU utilization and overall improvement on system response. After upgrading to 8 core setup, the performance monitor showed the same result but no change in system response due to more available cores. Getting back to Observation 3, the way I made that determination was by minimizing WoW5, which resulted in system response improvement.


    Observation 5:
    No matter which zone I was in or whenever I visited Dalaran, my CPU utilization always remained at a constant rate.
    Last edited by vchi : 02-06-2010 at 11:48 AM

Similar Threads

  1. Came across this in the wiki but doesn't seem to work.
    By sp000n in forum Macros and Addons
    Replies: 4
    Last Post: 01-22-2009, 12:00 PM
  2. Molecular Manufacturing..... A work in progress.
    By Xzin in forum General WoW Discussion
    Replies: 36
    Last Post: 01-17-2008, 08:38 AM
  3. Dual Boxing, and how I do it (a work in progress)
    By Sabes in forum New Multi-Boxers & Support
    Replies: 0
    Last Post: 11-25-2007, 10:13 PM
  4. My 5 man setup, work-in-progress
    By Stabface in forum Screenshots and Digital Art
    Replies: 21
    Last Post: 08-23-2007, 12:37 AM
  5. Ziie's setup and work in progress
    By Ziie in forum General WoW Discussion
    Replies: 5
    Last Post: 08-13-2007, 02:51 PM

Posting Rules

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