I am curious to know if there is a defined pattern in the CPU Usage graphs in the Performance tab of Task Manager.
These examples all have four 'CPU' graphs, either from four real cores, or half fakes from hyperthreading. Let's label the graphs 1,2,3,4 from left to right.
Example 1:
Host has two CPUs, two real cores in each. In task manager, do cores 1 & 2 belong to physical processor A, and 2 & 3 belong to physical processor B? Or is it split into 1 & 3 = A and 2 & 4 = B?
Why ask? First, my assumption was challenged when I saw Windows 7 dealing with the fake hyperthreading cores. Here is what I saw...
Example 2:
Host has one dual core CPU with hyperthreading. Load it with processing tasks and only graphs 1 & 2 are loaded, the fake cores in graphs 3 & 4 are minimally loaded. Note I am assuming that Windows 7 deals with hyperthreading correctly, and thus deciding which graphs are the fake cores.
On a side note, Intel says Windows is hyperthreading aware from XP, but I disagree. Watching task manager on Windows XP I see all cores, including the fakes, loaded about equally.
So really, who cares? The bottom line of my curiousity goes back to example 1 with two physical CPUs, each with two real cores. In that case, if one were to assign processor affinity to half of the CPU resources, I would surely want to choose two cores on the same CPU! (Because of the caches.)
Thanks!
These examples all have four 'CPU' graphs, either from four real cores, or half fakes from hyperthreading. Let's label the graphs 1,2,3,4 from left to right.
Example 1:
Host has two CPUs, two real cores in each. In task manager, do cores 1 & 2 belong to physical processor A, and 2 & 3 belong to physical processor B? Or is it split into 1 & 3 = A and 2 & 4 = B?
Why ask? First, my assumption was challenged when I saw Windows 7 dealing with the fake hyperthreading cores. Here is what I saw...
Example 2:
Host has one dual core CPU with hyperthreading. Load it with processing tasks and only graphs 1 & 2 are loaded, the fake cores in graphs 3 & 4 are minimally loaded. Note I am assuming that Windows 7 deals with hyperthreading correctly, and thus deciding which graphs are the fake cores.
On a side note, Intel says Windows is hyperthreading aware from XP, but I disagree. Watching task manager on Windows XP I see all cores, including the fakes, loaded about equally.
So really, who cares? The bottom line of my curiousity goes back to example 1 with two physical CPUs, each with two real cores. In that case, if one were to assign processor affinity to half of the CPU resources, I would surely want to choose two cores on the same CPU! (Because of the caches.)
Thanks!