Sign in with
Sign up | Sign in
Your question

Multi core usage improved ?

Last response: in Windows 7
Share
October 18, 2009 1:18:15 PM

Does anyone know if we will see better use of multicore CPU's in win7? It would be nice to see my quad actually make use of all 4 cores on more tasks, and how about using those idle gpu's for something too?
a b $ Windows 7
October 18, 2009 1:50:29 PM

The OS might make better use of the extra cores - but dont count on other applications being able to use them more.

The trouble is the software many people buy and intended to run on a minimum spec machine and as such cannot be coded for multi core only.

Now this will change over time but dont expect everything to run much quicker for a while yet.
m
0
l
a c 209 $ Windows 7
October 18, 2009 7:42:43 PM

The cores won't be used more unless you run more programs that use them.
m
0
l
Related resources
October 18, 2009 10:12:22 PM

it is my understanding that the OS has as much to do with core usage as the application, such as offloading os stuff like background apps ans services and antivirus / firewall to other cores so that a "primary" core could be used better by the app loaded. does anyone have any more info on this? I hope by now somebody is writing code that takes advantage of all four cores. the question is it on the OS side or the app / game side or both?
m
0
l
October 18, 2009 11:59:27 PM

all that the OS does is assign different threads to different cores, you probably wont notice anything unless you run alot of apps near 100% cpu usage.
m
0
l
a b $ Windows 7
October 19, 2009 1:46:48 PM

edwilson said:
it is my understanding that the OS has as much to do with core usage as the application, such as offloading os stuff like background apps ans services and antivirus / firewall to other cores so that a "primary" core could be used better by the app loaded. does anyone have any more info on this? I hope by now somebody is writing code that takes advantage of all four cores. the question is it on the OS side or the app / game side or both?



The answer is that it's all THREE: hardware, app, and operating system. The OS facilitates the full usage of however many cores are available on the hardware, by anything which may be running on your system. But it can NOT magically transform single threaded apps into multi threaded ones. Further, even when you have multiple apps running at once, if not all of them require full power then you won't see such usage. More typically, your (game) will pin one core at/near 100%, some side processes from your game may present a smaller load on a second, and the rest of the activity will be incidental background processes consuming only a few %.


Quote:
I hope by now somebody is writing code that takes advantage of all four cores. the question is it on the OS side or the app / game side or both?


Understand that this is *really* hard to do, and for many/most applications the added complexity does not translate into an "Improved User Experience". This is corporate software speak for: If a single threaded app performs X function in (1/10th) of a second, and a multi threaded app performs the same function in (4/100th) of a second... and it isn't possible for the human beings using the machine to detect the difference... Why kill ourselves writing it when we can do it more cheaply and more reliably the 'regular' way?"

There *are* multi threaded programs available now - Typically Encoding and graphics programs, and some games (including World of Warcraft, believe it or not) which can and do use multiple cores when they're available. But at this time it's still more the exception rather than the rule. This will change over time, as programmers learn how to write the code and as programming tools automate the processes. For the time being, though, the chief benefit for most (home) users will be giving their single threaded apps their own cores and running other processes elsewhere.
m
0
l
a b $ Windows 7
October 19, 2009 5:38:26 PM

There are three ways to handling multiple CPU execution units:

1: Code for single thread; let OS offload tasks to a specific execution unit.

This is how most apps are written. In this case, its up to the OS to offload tasks to different CPU's. This is the area that W7 focused on upgrading the most.

2: Code support for up to x number of execution units.

Program will scale to x units, but no more. Many dual-core optimized programs are written this way.

3: Code for scalability depending on number of detected execution units.

Hardest to code, but best performance. Bascially, you take every unique task, and assuming an execution unit is avaliable, offload it to a specific unit, or the unit with the lowest amount of workload. Very few consumer apps are written in this way.
m
0
l
October 20, 2009 1:18:43 PM

Im am not an expert by any means, and dont know my @#$ from a hole in the ground for 'code'. but, just a curious question:I remember when Call of Duty2 came out and dual cores were kinda new (i had one of the first heat monsters myself), and the game ran 'ok'.

But it apparenly only utilized one core.

Then, a patch was issued a few months or so later that was small size, and the patch allowed the game to utilize 2 cores, and my fps went up dramatically.

So.....if they can do that with a small simple patch to make it go from using 1 to 2 cores.......then why.....
m
0
l
!