Why dual core?

For system help, all hardware / software topics NOTE: use Coders Corner for all coders topics.

Moderators: Krom, Grendel

Post Reply
User avatar
Top Wop
DBB Master
DBB Master
Posts: 5104
Joined: Wed Mar 01, 2000 3:01 am
Location: Far from you.
Contact:

Why dual core?

Post by Top Wop »

A simple question. If programs are not written to take advantage of multi-threading, then whats the point? Oh, so I can play Quake 4 on one core which takes up probably 100 percent of its computing power while I listen to Winamp on the other core which only takes up %5 percent? Big whoop.

Is it also difficult to write a multi-threaded program than a singe one? And with this dual core phase are all games going to be multi-threaded from now on into the future?
User avatar
fliptw
DBB DemiGod
DBB DemiGod
Posts: 6459
Joined: Sat Oct 24, 1998 2:01 am
Location: Calgary Alberta Canada

Post by fliptw »

interesting you mention quake 4, as there is a patch that add SMP support.

See for yourself

mutli-cores are here to stay.
User avatar
Iceman
DBB Habitual Type Killer
DBB Habitual Type Killer
Posts: 4929
Joined: Thu Apr 20, 2000 2:01 am
Location: Huntsville, AL. USA
Contact:

Post by Iceman »

Yes games are heading that way and some are already using it. If you like having a responsive computer that lets you do several things at once then you will benefit from it quite a bit. Otherwise don't bother with it for now.
User avatar
Mobius
DBB_Master
DBB_Master
Posts: 7940
Joined: Sun Jun 03, 2001 2:01 am
Location: Christchurch, New Zealand
Contact:

Post by Mobius »

I consider it funny that people keep touting how \"responsive\" a dual-core machine is. Has ANYONE ever experienced this? I have a dual core Pentium machine here at work, and IN NO WAY IS IT SUPERIOR TO MY AMD 64 AT HOME which is a single core.

I use the same applications, have the same amount of RAM, and the CPU performance is similar - but I notice absolutely no increase in performance or responsiveness on the dual core machine.

I run 2GB of RAM in each box, and often have Firefox consuming 200MB+, plus Photoshop at 200MB or more, plus, for example the following apps all open at once:

Macromedia Dreamweaver 8
Macromedia Contribute
Word
Excel
Visio
Messenger
Bittorrent
Outlook
Lotus Notes
Lotus Domino
Go2Assist
Winamp5
Firefox
Internet EXplorer
Opera
Photoshop 6
VNC Viewer
Remote Desktop
TopStyle
Acrobat
Visual Studio
Core FTP

I've never experienced slowdowns when switching between apps on the AMD64, and the dual core machine does not perform noticeably quicker.

If I can have that many apps open, and over 1.5GB of RAM committed, what on earth is a dual core for, except to extract more money from you?
User avatar
Krom
DBB Database Master
DBB Database Master
Posts: 16138
Joined: Sun Nov 29, 1998 3:01 am
Location: Camping the energy center. BTW, did you know you can have up to 100 characters in this location box?
Contact:

Post by Krom »

Run a high priority video encoder on the dual core vs the single core system, time how long it takes to finish and check how responsive the system feels then get back to us.
User avatar
FunkyStickman
DBB Ace
DBB Ace
Posts: 309
Joined: Wed Apr 20, 2005 2:26 pm
Location: 'Nawlins

Post by FunkyStickman »

Three words: 2CPU DOT COM
User avatar
Topher
DBB Alumni
DBB Alumni
Posts: 3545
Joined: Thu Nov 05, 1998 12:01 pm
Location: New York
Contact:

Post by Topher »

Comparing 32-bit dual core processors with 64-bit single cores is not a fair comparison. 64-bit (and the OSes that run on them) handle large amounts of memory much better.

Applications will run smoother when run in tandum on dual core than on single core, but if you're not doing tons of processing at once then you won't see a huge improvement. Things like rendering, compiling, etc will really benefit from multiple CPUs.

Of course, you could just get dual core 64-bit CPUs and get the best of both worlds. :-)
User avatar
Iceman
DBB Habitual Type Killer
DBB Habitual Type Killer
Posts: 4929
Joined: Thu Apr 20, 2000 2:01 am
Location: Huntsville, AL. USA
Contact:

Re:

Post by Iceman »

Mobius wrote:I consider it funny that people keep touting how "responsive" a dual-core machine is. Has ANYONE ever experienced this? I have a dual core Pentium machine here at work, and IN NO WAY IS IT SUPERIOR TO MY AMD 64 AT HOME which is a single core.

I use the same applications, have the same amount of RAM, and the CPU performance is similar - but I notice absolutely no increase in performance or responsiveness on the dual core machine.

I run 2GB of RAM in each box, and often have Firefox consuming 200MB+, plus Photoshop at 200MB or more, plus, for example the following apps all open at once:

Macromedia Dreamweaver 8
Macromedia Contribute
Word
Excel
Visio
Messenger
Bittorrent
Outlook
Lotus Notes
Lotus Domino
Go2Assist
Winamp5
Firefox
Internet EXplorer
Opera
Photoshop 6
VNC Viewer
Remote Desktop
TopStyle
Acrobat
Visual Studio
Core FTP

I've never experienced slowdowns when switching between apps on the AMD64, and the dual core machine does not perform noticeably quicker.

If I can have that many apps open, and over 1.5GB of RAM committed, what on earth is a dual core for, except to extract more money from you?
I have experienced it first hand. I develop software with a compiler that spawns threads to compile various code sections concurrently. While this is running, I bounce around on the web looking at news videos etc ... Sometimes I even burn a CD or DVD at the same time. I notice a big difference from another comparable single core system I have access to.

Yeah, you might have a thousand apps running but they aren't doing a whole heck of a lot of processing unless you are hand-holding them ... Kind of hard to do with more than one or two apps at a time. What they tax is the RAM Mobius ... Thats the stuff that holds the information in memory. The processor is the thingy that actually does the work.

Granted Top Wop isn't a power user ... he already aluded to this fact in his post. In his case, there would be little need for a dual core processor.
User avatar
Vindicator
DBB Benefactor
DBB Benefactor
Posts: 3166
Joined: Mon Dec 16, 2002 3:01 am
Location: southern IL, USA
Contact:

Post by Vindicator »

After using a dual Xeon system for a year and a half, I'm not going back to single core if I can help it. Not exactly the same thing, but dual core is quite a bit more affordable and more widely supported than true SMP hardware is.
User avatar
ccb056
DBB Fleet Admiral
DBB Fleet Admiral
Posts: 2540
Joined: Wed Jul 31, 2002 2:01 am
Contact:

Post by ccb056 »

I can encode two divx movies in the time it takes you to encode one ;)

-Dual Athlon MP 2800
I haven't lost my mind, it's backed up on disk somewhere.
User avatar
Immortal Lobster
DBB Ace
DBB Ace
Posts: 367
Joined: Wed Jan 18, 2006 5:25 pm

Re:

Post by Immortal Lobster »

Mobius wrote:I consider it funny that people keep touting how "responsive" a dual-core machine is. Has ANYONE ever experienced this? I have a dual core Pentium machine here at work, and IN NO WAY IS IT SUPERIOR TO MY AMD 64 AT HOME which is a single core.
Of course, cuz Intels dual cores were a crapy weld job at first, theyre still seperated from each other, so they were more of a marketing ploy.

Dual Cores are here to stay....till mid 207 at least, then were hitting Quads, maybe even Octa-cores by 2008. My DC Opty is in fact responsive, Not only is it good at multi-tasking, but its simply...the best word choice is indeed responsive, I rarely see the damned windows hourglass, except on boot up, where I can still click aroud.

Most games are threaded, some for intels HT, using those same threads a DC CPU can still use more then 1 core for a game not optimized for DCs, Windows SP2 has Multiple core support, up to 8 I believe. so, even with a single threaded game, you can swiitch it over to use the second core, and windows wont interfere, or for those who know, been playing D3, or any other game, and a timed virus scan begins that you entirely forgot about when your playing at 3am. it wont do that little hiccup thing.

Also, A single threaded game can also span across both CPUs, so 50% usage on both at the same time, this also quickens the FPS, as well as make things more responsive, but thats only true when the Cores are connected with a crossbar, much like AMDs K9's oh, sorry, marketing says Dual core K8 as a Dog would sound slow :roll:
User avatar
Top Wop
DBB Master
DBB Master
Posts: 5104
Joined: Wed Mar 01, 2000 3:01 am
Location: Far from you.
Contact:

Re:

Post by Top Wop »

Immortal Lobster wrote:Also, A single threaded game can also span across both CPUs, so 50% usage on both at the same time, this also quickens the FPS, as well as make things more responsive, but thats only true when the Cores are connected with a crossbar, much like AMDs K9's oh, sorry, marketing says Dual core K8 as a Dog would sound slow :roll:
Thats what im confused about, from what I can tell most people here say that a single threaded game will only use one core, but you say it will span into two? It doesn't make sense to me. Or mayby I didn't get enough sleep in the past few days...
User avatar
ccb056
DBB Fleet Admiral
DBB Fleet Admiral
Posts: 2540
Joined: Wed Jul 31, 2002 2:01 am
Contact:

Post by ccb056 »

there is no such thing as a single thread game, well, not after descent 1

look at task manager before and after you load a game
I haven't lost my mind, it's backed up on disk somewhere.
User avatar
Immortal Lobster
DBB Ace
DBB Ace
Posts: 367
Joined: Wed Jan 18, 2006 5:25 pm

Post by Immortal Lobster »

Ive only dealt with Dual core P4s ...sorry, Pentium Ds a few times, they did not span the CPU cores, I think thats explainable by the lack of a crossbar. every Dual core AMD, including mine, spans cores. in most games I play, 200% usage, thats 100% of each core is used. there are some games that dont use the second core, Freelancer, Descent, NFS MW(I dont know why) and Descent3. D3 doesnt use more then 30% of any core, its exempt. Games like the Sims are also victem of not using two cores, however, In all those games, it spans both CPU cores.

The only logical explanation I can think of is the crossbar.
User avatar
Top Wop
DBB Master
DBB Master
Posts: 5104
Joined: Wed Mar 01, 2000 3:01 am
Location: Far from you.
Contact:

Re:

Post by Top Wop »

ccb056 wrote:there is no such thing as a single thread game, well, not after descent 1

look at task manager before and after you load a game
Go away. You are an idiot.

Ok I think it makes more sense now, so if its a single-threaded game on dual core it will max out at 50/50 or 100 percent cpu usage and if its multi-threaded it will be 100/100 or 200 percent cpu usage correct?
User avatar
Immortal Lobster
DBB Ace
DBB Ace
Posts: 367
Joined: Wed Jan 18, 2006 5:25 pm

Post by Immortal Lobster »

Normally, I have had a few games, like Godfather that seem to cut out at 75% usage.

One thing lots of people forget to do is install the Dual Core CPU drivers, people who fail to do this often curse at thier CPUs and say they are not fit for gaming, which is entirely untrue. Even with a single thread, the fact that it splits between cores increases responsiveness, and its not limited to 50/50, it can be 60/40, or 90/10, any combination of which. Like I said, on Intel CPUs, I never saw an application span cores to well. Let me see If I cant grab you a screenie.
User avatar
Topher
DBB Alumni
DBB Alumni
Posts: 3545
Joined: Thu Nov 05, 1998 12:01 pm
Location: New York
Contact:

Post by Topher »

Top Wop wrote:Ok I think it makes more sense now, so if its a single-threaded game on dual core it will max out at 50/50 or 100 percent cpu usage and if its multi-threaded it will be 100/100 or 200 percent cpu usage correct?
Your percentage statement is pretty confusing, but I think you have the idea...:)
User avatar
Immortal Lobster
DBB Ace
DBB Ace
Posts: 367
Joined: Wed Jan 18, 2006 5:25 pm

Post by Immortal Lobster »

I thought Rome TW would have proven a better example, it didnt. its about a 70/26 or 35/13 depending what you take it out of, split between cores, not as dramatic as Id like, yet it proves an application spans the cores.

http://img.photobucket.com/albums/v105/ ... ualies.jpg
http://img.photobucket.com/albums/v105/ ... AG0242.jpg
User avatar
Kyouryuu
DBB Alumni
DBB Alumni
Posts: 5775
Joined: Fri Apr 30, 1999 2:01 am
Location: Isla Nublar
Contact:

Post by Kyouryuu »

I just have hyperthreading, but one thing I noticed yesterday was that Hammer Editor (for Half-Life 2) actually multi-threads the build process, using 100% of the processor (and making it impossible to run anything else, heh). Which is pretty cool, considering UnrealEd and D3Edit top out at just the 50% mark. It's good... I can't imagine how long it would take to build this thing otherwise oO
User avatar
Burlyman
DBB Admiral
DBB Admiral
Posts: 1275
Joined: Sun Oct 16, 2005 5:47 pm
Location: right behind you

Post by Burlyman »

Mobius wrote:If I can have that many apps open, and over 1.5GB of RAM committed, what on earth is a dual core for, except to extract more money from you?
How can dual-core CPUs extract more money from someone? They are cheaper than getting two single-core CPUs and two heatsinks/fans.

Why dual-core?

http://www.anandtech.com/cpuchipsets/sh ... spx?i=2343

Because we need more processing power! ^_~
User avatar
Immortal Lobster
DBB Ace
DBB Ace
Posts: 367
Joined: Wed Jan 18, 2006 5:25 pm

Post by Immortal Lobster »

In any PC anymore, the biggest bottleneck is the CPU, GPUs are far to powerful atm, the addition of a PPU, as well as the potential for Dual Core GPUs makes Dual core look insignificant in the future, however, if designed perfectly, a Dual core CPU could use one core to communicate solely with the GPU, and the other core to punch out the raw math. this function will soon be replaced by a PPU, but games have to support that, otherwise its useless.
User avatar
Krom
DBB Database Master
DBB Database Master
Posts: 16138
Joined: Sun Nov 29, 1998 3:01 am
Location: Camping the energy center. BTW, did you know you can have up to 100 characters in this location box?
Contact:

Post by Krom »

Last time I checked, in modern games CPUs and GPUs are running pretty close to balancing the load. Both the CPU and the GPU are running at or near 100%. If your GPU is spending all it's time waiting for a CPU in a modern game, turn up the resolution or crank the visual details up a notch. It is not very hard to bring out the maximum performance from even the absolute high end cards with any decent CPU these days and that won't change any time soon.

Sure GPUs grow in power dramatically faster then CPUs, but the game developers are aware of that and take advantage of it. If GPUs really were too powerful compared to CPUs it would be reflected in the life span of GPUs. In 1 year your GPU will be crushed by the next gen games and barely be able to keep up a good FPS, while your 18+ month old CPU will probably handle it just fine if you stuck a new more powerful video card in. If GPUs were too powerful compared to CPUs, it would be the other way around.
pATCheS
DBB Ace
DBB Ace
Posts: 187
Joined: Sat Apr 03, 2004 9:12 pm
Contact:

Post by pATCheS »

Some bits of silliness that need to be noted.


ONE: \"In any PC anymore, the biggest bottleneck is the CPU, GPUs are far to powerful atm, the addition of a PPU, as well as the potential for Dual Core GPUs makes Dual core look insignificant in the future\" Multicore is the way of the future. This is because single core has hit the speed limit; it's hard to get current technology past 4GHz, and nothing else is going to be around any time soon. The only way to speed things up now is to do more at once.

TWO: \"...as well as the potential for Dual Core GPUs makes Dual core look insignificant in the future\" GPUs are already \"multicore.\" Each pixel pipeline is essentially like a core. Note how the recent 7800/7900 cards are so much faster than the 6800, which was so much faster than the 5900... The major difference is the number of pixel pipes. But, it never hurts to have more than one GPU on SLI/Crossfire :)

THREE: \"...however, if designed perfectly, a Dual core CPU could use one core to communicate solely with the GPU, and the other core to punch out the raw math. this function will soon be replaced by a PPU, but games have to support that, otherwise its useless.\" Having each CPU core do different tasks simultaneously isn't as good an idea as it sounds. In games, it's much better to split the same task between them. Why? If you did physics on one processor and rendering on the other, and the physics took longer than the rendering, you're wasting time on the other processor while it waits (and this would always happen to some extent). Much better to have each processor do half the work.

FOUR: A single thread CANNOT be split across multiple CPUs, or even multiple cores. It just can't. If they could, multicore programming wouldn't be a pain in the ass, nor necessary in taking advantage of multiprocessing.

FIVE: \"One thing lots of people forget to do is install the Dual Core CPU drivers\" wtf? All you need to do is reinstall Windows, and it'll use the multicore kernel. In fact, if you don't, you'll probably have a hell of a time just booting. There's nothing needed in the way of drivers in order to take advantage of dual core.

SIX: Basically all Windows games do actually use multiple threads. This is to ease multitasking, such as handling network communication while doing rendering and calculations. However, this doesn't do much to enhance performance on multicore CPUs, because the main thread is the one with the most work to do, and it handles collisions, physics, rendering, sound, everything. It's not inconceivable that some games don't follow this mantra, so you might see split CPU usage, but it's not a big deal if it isn't maxing out both CPUs.

SEVEN: \"Also, A single threaded game can also span across both CPUs, so 50% usage on both at the same time, this also quickens the FPS, as well as make things more responsive, but thats only true when the Cores are connected with a crossbar\" Pure BS. The crossbar enables more efficient memory usage and processor interaction, but in no way does it allow the processor to split threads. See four and six above.

EIGHT: \"Of course, cuz Intels dual cores were a crapy weld job at first, theyre still seperated from each other, so they were more of a marketing ploy.\" They don't suck completely, though the numbers are in AMD's favor in games (as per usual). Intel DC CPUs do a fine job of encoding (also as expected). Another major point that needs to be made here is that Intel DC solutions are significantly cheaper than AMD's right now.

NINE: \"Comparing 32-bit dual core processors with 64-bit single cores is not a fair comparison. 64-bit (and the OSes that run on them) handle large amounts of memory much better.\" errrrrrrrrrrrrrr... 64 bit is really just an extension of 32 bit. This has the benefit that AMD64 processors can run 32 bit Windows, and they behave EXACTLY like any 32 bit processor, save for the architectural enhancements, like the on-die memory controller, or elimination of FSB. The battle isn't 32 vs 64, but AMD vs Intel. We haven't crossed the threshold between 32 and 64 yet, but that will happen in the next two years, with Windows Vista taking full advantage of it. Also, Intel has had EM64T for over a year now, which is basically a clone of AMD's x86-64.


Yes, I went backward through the topic review. Still, that should clear up most of the misconceptions.
User avatar
Neo
DBB Admiral
DBB Admiral
Posts: 1027
Joined: Mon Mar 08, 2004 6:03 am
Location: the honeycomb hideout :)

Post by Neo »

::drools over 2cpu.com:: *_*
Zero, Behemoth, FOIL, Terminal, Neo. The greatest pilots in the universe. :P
User avatar
Paul
DBB Ace
DBB Ace
Posts: 73
Joined: Tue Jan 10, 2006 5:15 pm
Location: Ann Arbor, MI, USA
Contact:

Re:

Post by Paul »

pATCheS wrote:THREE: "...however, if designed perfectly, a Dual core CPU could use one core to communicate solely with the GPU, and the other core to punch out the raw math. this function will soon be replaced by a PPU, but games have to support that, otherwise its useless." Having each CPU core do different tasks simultaneously isn't as good an idea as it sounds. In games, it's much better to split the same task between them. Why? If you did physics on one processor and rendering on the other, and the physics took longer than the rendering, you're wasting time on the other processor while it waits (and this would always happen to some extent). Much better to have each processor do half the work.
Actually, for the game I'm writing (which I just made multi-threaded, still got some bugs due to that :D), I have one thread for graphics, and several other threads for the physics and AIs. This way, you can throttle the graphics down to your screen refresh rate, while having the physics go full speed, for a slightly more accurate simulation. Anyway, that's the plan. I haven't actually implemented independent thread throttling yet.
Differentiation is an integral part of calculus.
Post Reply