Register to reply

Core 2 duo

by ank_gl
Tags: core
Share this thread:
ank_gl
#1
Aug27-07, 11:46 AM
P: 733
i currently have a core 2 duo E6600 2.4 GHz processor. during some applications(obviously games n few of my simulation programmes), i have noted that only one of the core works. why is it so?? in few other applications(now too some games n application), both the cores share the load. is it the application which primarily decides on to which core to use. can i put the second core to some other task in the same application.
like in halo2, one of my cores is completely dead, and one is upto 95-100%usage. can i put the other core to graphics and let the first core do the main buffering or something like that.. some sort of emulator, which ll allow me to use the other core for some other purpose, when its not in use.. i am just wondering if it could be done
Phys.Org News Partner Science news on Phys.org
Suddenly, the sun is eerily quiet: Where did the sunspots go?
'Moral victories' might spare you from losing again
Mammoth and mastodon behavior was less roam, more stay at home
caslav.ilic
#2
Aug27-07, 12:11 PM
P: 87
For a single running instance to use more than one core, the program has to be specifically written to be able to do so. Otherwise, there is nothing that you as a user can do to make it use the other core as well.

--
Chusslove Illich (Часлав Илић)
mgb_phys
#3
Aug27-07, 12:14 PM
Sci Advisor
HW Helper
P: 8,955
If the application is multi-threaded the operating system will use both cores.
It will also use the second core for another task, so under windows Word might be using one core while the other is handling the mouse moving.
There is nothing you can do to 'tell' it to use multiple cores.

The game might not be written to take advantage of dual cores so that it can also run on older P4 machines. Or it might actually be slower to use dual cores because they both share the same bus and same cache memory - the game's designers might have decided it is more efficent to run a single thread.

ank_gl
#4
Aug27-07, 12:39 PM
P: 733
Core 2 duo

Quote Quote by mgb_phys View Post
If the application is multi-threaded the operating system will use both cores.
It will also use the second core for another task, so under windows Word might be using one core while the other is handling the mouse moving.
There is nothing you can do to 'tell' it to use multiple cores.

The game might not be written to take advantage of dual cores so that it can also run on older P4 machines. Or it might actually be slower to use dual cores because they both share the same bus and same cache memory - the game's designers might have decided it is more efficent to run a single thread.
so having multiple cores is a problem sometimes, i dont mean problem, they are way too better than single cores.
but earlier games like nfs hot persuit uses both cores. surely there were no multi core processors at that time(3-4 yrs back), why does it use both of em then??
mgb_phys
#5
Aug27-07, 12:56 PM
Sci Advisor
HW Helper
P: 8,955
If you want the program to still respond while it is doing something else you have to use multiple threads. So in a word processor if you want the mouse to work while you are printing you have to do the print commands in another thread. The computer runs each thread in turn - even if you only have one processor, this is how Windows can have many programs running at the same time.
Now if you have a computer with multiple processors or a duo chip, Windows (certain verisons) can use this to run alternate threads on each processor / core.
So older programs that were written to be multi-threaded can suddenly use multi cores wth no changes.
Now in a game usually only one thing is happening at once so there was no need for multiple threads and no advantage to them (switching between threads on a single processor slows things down) when multi cores arrive these games cannot take advantage of them.
ank_gl
#6
Aug27-07, 01:11 PM
P: 733
ok, that clarifies a lot of the situation. i ll post again when i find some suitable reason regarding this
ank_gl
#7
Aug27-07, 01:20 PM
P: 733
hey what about a graphic card. it does all the graphic rendering and leaves buffering to main cpu. graphic card is also a cpu with its own memory designed specifically for graphic purposes(as far as i know). i dont know the correct terms, so feel free to criticize(not much though;))
chroot
#8
Aug27-07, 02:48 PM
Emeritus
Sci Advisor
PF Gold
chroot's Avatar
P: 10,429
...What about the graphics card, ank_gl? What's your question?

- Warren
ank_gl
#9
Aug27-07, 11:44 PM
P: 733
Quote Quote by mgb_phys View Post
Now in a game usually only one thing is happening at once so there was no need for multiple threads and no advantage to them (switching between threads on a single processor slows things down) when multi cores arrive these games cannot take advantage of them.
i mean when with a graphic card, situation is same as multi core system(ummm, i m not sure, it looks same to me), so why ll a graphic card improve the situation in case of halo2(for an example) when the other processor is left at 0 usage. i mean when the application is not calling the other processor, why would it call the graphic card??
again i am not sure of what i just said, thats what i understand
chroot
#10
Aug27-07, 11:58 PM
Emeritus
Sci Advisor
PF Gold
chroot's Avatar
P: 10,429
Graphics processors cannot be used for general purpose computations. The main processor and the graphics processor are extremely different. The graphics processor is designed to do only one thing: fast mathematical manipulation of graphical data.

- Warren
caslav.ilic
#11
Aug28-07, 03:51 AM
P: 87
Quote Quote by ank_gl
[...] i mean when the application is not calling the other processor, why would it call the graphic card??
The answer follows from the above: because the application was written to use the graphic card. 3D-specialized graphic cards are available on PC since 1996 or something. Today there are fairly standard interfaces to use the functionality of a graphic card, like OpenGL or Direct3D, hence most games do so (early 3D games had it optional, with pure CPU mode available as well).

There are in general two modes of "using more than the single core".

One is the "function-parallel" mode, where different pieces of hardware do different stuff, as in CPU/graphic card example. This mode is somewhat natural for games, in that it has been used for more than two decades now (e.g. Commodore Amiga machines of 1987 had, aside from the CPU, specialized processors for graphics, sound, IO). Two cores of today's CPU, although functionally equivalent, can be used in the same manner, e.g. one could do the AI and another the rest as usual.

The other is the "data-parallel" mode. Here, several pieces of hardware are communicating on doing the same stuff (processing the same data). This has not been employed in games until recently, but was rather used for scientific/engineering computations, where it comes rather naturally. Data mode is well suited for units of the same kind, e.g. several cores, but is also harder to program a game for. This is because in function mode, the single-core program can be (more or less) just split into chunks by functionality and some of those chunks offloaded to other units (e.g. graphic card), while in data mode parts of the single-core program have to be considerably restructured to allow for cooperative processing of several cores.

Unfortunately, the function mode doesn't "scale": there are only so many functions that a program is composed of, and not all of them use the same amount of resources. In the AI example, if one of the two cores has been allocated to it, and the game runs out of computer controlled "enemies", suddenly that one core is doing nothing. And then, if there are eight cores, the problem becomes only worse.

The date mode can scale well, because no matter the number of cores, they all work on the same problem and can balance the load -- but, as said, this is not straightforward to achieve. In particular, games are much more complex computing-science wise than typical scientific/engineering computations which use the data mode, so as far as I understood, game programming people are right now scratching their heads...

--
Chusslove Illich (Часлав Илић)
russ_watters
#12
Aug28-07, 04:45 PM
Mentor
P: 22,213
Quote Quote by ank_gl View Post
but earlier games like nfs hot persuit uses both cores. surely there were no multi core processors at that time(3-4 yrs back), why does it use both of em then??
Dual processor gaming computers have been common for a decade. Still, not a lot of manufacturers bother to code for it because the graphics card is by far the bigger piece of the performance puzzle in games.

In addition to what warren said about video cards (GPU), they have fast, dedicated memory and huge pipelines to that memory to be able to pump through massive amounts of rendering data. Your CPU can do more complex things, but cannot come anywhere close to a GPU for it's specialized task. Computers without dedicated graphics cards run games several orders of magnitude slower than those with.
Stevedye56
#13
Sep5-07, 03:38 PM
P: 398
If I am not mistaken there was a recent update to Counter Strike Source and Half Life 2 that took advantage of the new dual core processors. I'm with russ on this, to enable the use of both cores for a game is a lot more coding that some manufacturers are not bothering with now.
Harold362
#14
Sep16-07, 12:28 PM
P: 1
Quote Quote by ank_gl View Post
like in halo2, one of my cores is completely dead, and one is upto 95-100%usage. can i put the other core to graphics and let the first core do the main buffering or something like that.. some sort of emulator, which ll allow me to use the other core for some other purpose, when its not in use.. i am just wondering if it could be done
There is something that you can do to help this situation out. Whether you like it or not there are going to be other programs running on you computer as backgroung processes. Like others have stated, unless the program or game was written to run on multiple cores in short, it wont. However, you can set the affinity of the processes that are running on your computer, ie which processor (or core) the the program runs on. If you were to set the game to run on one processor and all the other programs and background processes to run on the second processor, you may find the game to run faster and smoother. To do this open the task mamager, go to processes and right click on a process. You should see set affinity, and that is where you make things happen.

Harold 362
ank_gl
#15
Sep21-07, 06:43 AM
P: 733
Quote Quote by Harold362 View Post
There is something that you can do to help this situation out. Whether you like it or not there are going to be other programs running on you computer as backgroung processes. Like others have stated, unless the program or game was written to run on multiple cores in short, it wont. However, you can set the affinity of the processes that are running on your computer, ie which processor (or core) the the program runs on. If you were to set the game to run on one processor and all the other programs and background processes to run on the second processor, you may find the game to run faster and smoother. To do this open the task mamager, go to processes and right click on a process. You should see set affinity, and that is where you make things happen.

Harold 362
oh yeah i tried that. not much of a boost that way, but was a good try though


Register to reply

Related Discussions
Core 2 help Precalculus Mathematics Homework 2
CPU differences: quad core, dual core, etc. for CFD Mechanical Engineering 3
Air core Coils vs. Metal core coils Electrical Engineering 1
Hot core Earth 6
The core Astronomy & Astrophysics 6