• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Multiple CPU's? An article and some questions.

MichaelD

Lifer
Hi guys,

I just read This Article at Tomshardware. It's a too short (IMO) article on mulitiple CPU setups. The author doesn't really delve into too much technical stuff/reasoning which is what I kind of wanted to read. He mostly gives his opinions, and some "employee to boss" wit, which is fine.

Are there any advantages to having multiple CPU's in a gaming rig? I know that multiple CPU's are great for things that do horrendous mathematical computations like CAD/CAM and the like, but what about gaming? I seem to remember reading an article that said most games would only take advantage of one CPU.

Isn't a the way a multiple CPU setup runs akin to RAID O? Data is "striped" over 2 CPU's? Am I incorrect?

OK, now you speak. 🙂
 
Multiple CPUs require software to be specially compiled so that it takes advantage of more than one processor in the system, and there aren't any games out there that have this. I believe that Quake 3 has partial SMP support, but not as much as it could. Since you wouldn't be running any games that take advantage of the two CPUs, you would essentially have a system that has great multi-tasking. You could run two games at once, even, not that you would ever need to. You'd also have to be running Windows NT or Windows 2000, and neither of them run all the games out there flawlessly, with the exception of newer games.

Dual CPUs on a gaming rig is the kind of thing you would do if you have that much money to throw around, but otherwise save your money of the second CPU and put it towards a more kick-ass set of speakers.
 
Indeed games must take advantage of the multiple CPU's, Quake3 does, most older dont. A thread only gets processed by 1 CPU, so the stripping analogy is false. In my opinion the advantages for a home user are rarely worth the added cost.
 
The added cost of a dual processor rig really isn't much.
You can get a solid BX- based Tyan Tiger 100 board for around
$120 or so. Same for the VIA- based (aka Crap based) Tyan Tiger
133 board for about the same price.

That's only a few bucks more than a comparable quality single
CPU board. That means the real incremental cost is the second
CPU. If you stick to 750Mhz processors, then that second CPU
is only a hundred bucks more. For the added responsiveness
at all times (forgetting about SMP aware processes) it IS,
IMHO, worth the extra cost.

Kwad
 
Not much of a debate, actually. I'd love two CPUs in my system, but I have no real need for them and it's a premium I can't afford if I go with my desired platform (Athlon). I would essentially have a wasted CPU in my system because I never do enough to need it to pick up the slack from my primary CPU. I would have a killer RC5 rate, but that's about it. 🙂

Maybe in the future, but not anytime soon.

Quad Xeons? Sure, line 'em up for me and I'll switch back to Intel. 🙂
 
SMP Hardware + SMP OS + SMP Software = an SMP experience

SMP Hardware + SMP OS - SMP Software = a NON SMP experience

SMP Hardware - SMP OS + SMP Software = a NON SMP experience

Its simple math 🙂

One more important point about SMP livin'... When you upgrade, plan on buying TWO cpu parts instead of just one! 🙂
 
Hi Flokster. Thanks for putting it so succinctly. I like the "simple math" analogy. I think I get it now. 🙂
 


<< Thanks for putting it so succinctly... >>



Are you gonna make me pull out my dictionary? 😉

Succinct adj. Clearly expressed in few words.

Very nice word!
 


<< SMP Hardware + SMP OS + SMP Software = an SMP experience

SMP Hardware + SMP OS - SMP Software = a NON SMP experience

SMP Hardware - SMP OS + SMP Software = a NON SMP experience
>>



I'd like to add one thought to that. Your center 'math' equation is not quite correct.

For example: suppose you have 1 processor at 1 GHz. The OS will take up some resources (they all do, you can't get around it). For easy math, lets assume that you use Win 2k and it takes up 10% of the processor time. That leaves 90%*1 GHz= a 900 MHz machine to run your program. Now suppose you have a dual processor 1 GHz machine. That OS still takes up 10% of one CPU. When you run a program which is CPU intensive, Win 2k automatically has the second 1 GHz processor run the new program. Thus you have 1 GHz available to your single processor program. Simple math time: 1 GHz/ 900 MHz = 11.1% faster for single processor programs. I agree this is minor, but for $200 you can get a dual processor machine, and an 11% increase may be worth the money for some people.

Note: the OS requirements change, at some points it may use less than the 10% CPU time. At some points it will take up more than that 10% CPU time. So the 11% is a rough number, it will vary but average around 11% for Win 2k.
 
Oh alright, I see your point. An OS would be slightly more efficient on an SMP board with an SMP OS. The software without SMP support perhaps would see some improvement in resource management. To really see any REAL benefit you need all 3 links in the chain or you are really just spinnin' wheels...
 


<< Huh? What program are you referring to that will be 10% faster? It will only run 10% faster if it is an SMP program. A non-SMP program will run the same speed on a Quad SMP configuration as it would on a single processing part. >>



All programs that need the speed. Read my previous post. If you have a single processor, the program shares processor time with the OS. If you have a dual processor machine, a computational intensive program is NOT shared with the OS as it will use the other UNSHARED processor. However, going from dual to quad has no benefit since the 3rd and 4th processors will remain idle UNLESS you have a program which is capable of using them.
 


<< Oh alright, I see your point. An OS would be slightly more efficient on an SMP board with an SMP OS. The software without SMP support perhaps would see some improvement in resource management. To really see any REAL benefit you need all 3 links in the chain or you are really just spinnin' wheels... >>



Right, if you have all 3 links you get real improvement. I average 111% improvement going from a single processor to a dual processor. Why 111%? That is since I go from 1 shared processor to 1 shared and 1 UNSHARED processor. Not all programs are written well, and they see less improvement.
 


<< a computational intensive program is NOT shared with the OS as it will use the other UNSHARED processor.. >>



Only if the hardware &amp; OS (i.e. WinNT kernal) are both SMP compliant or the second CPU will sit idle no matter what...

example, you go buy an Asus P3C-D (i820 Dual Cumine platform) and slap in a couple of Slot 1 P3's &amp; load up Win ME. To my knowledge, that second cpu will not be used @ all under any circumstance because WinME can't see it.
 


<< Only if the hardware &amp; OS (i.e. WinNT kernal) are both SMP compliant or the second CPU will sit idle no matter what... >>



Correct, I was discussing your middle math equation where there is hardware and OS capable of using the dual CPUs. If you use Win 98, you will never see any improvement at all...

SMP Hardware + SMP OS + SMP Software = an SMP experience
SMP Hardware + SMP OS - SMP Software = a *SEMI* SMP experience
SMP Hardware - SMP OS + SMP Software = a NON SMP experience
 
Therefor you are saying even without software support...some games may see some benefit of SMP simply because the OS can dump all resource tasks on one processor while the program grabs the free one. How does the non-SMP software know what prossesor to use? The one that the OS has picked? Is the OS smart enough to pick the non-SMP program to use the free processor? 😕
 


<< Therefor you are saying even without software support...some games may see some benefit of SMP simply because the OS can dump all resource tasks on one processor while the program grabs the free one. How does the non-SMP software know what prossesor to use? The one that the OS has picked? Is the OS smart enough to pick the non-SMP program to use the free processor? 😕 >>



You are getting beyond my knowledge. I only use dual computers... From what I see, Windows moves the processes around freely (what logic it uses is beyond me.)

My experiences: Suppose you have 2 equal size boxes (CPUs) and have 31 objects to put in the boxes. Thirty of these are small (OS tasks), and one is large and clunky (your program). Windows puts as many objects as it can into the first box, and it begins to fill. When Windows gets to the large clunky object it puts it in the 2nd empty box instead of trying to squeeze it into the partially full box. As more tasks are added, Windows continues to put them in the first box. If Windows sees another large clunky object it makes a descision: A) put it in the first box with the small objects or B) move the first clunky object to the first box and add the new object to the free 2nd box. How Win 2k or Win NT makes this choice, I cannot say. I assume it tries to put the largest object in the free box and squeezes the rest into the other box.
 


<< How does the non-SMP software know what prossesor to use? The one that the OS has picked? Is the OS smart enough to pick the non-SMP program to use the free processor? >>



The program will only use 1 CPU, but it's the OS that decides which one. It'll automatically use the CPU that's not being used at all, or being used less.
 
The OS decides which thread goes to which CPU. The overhead of the machine is distributed in an SMP machine with an SMP O/S. There are advantages even without SMP-specific applications. Another awesome aspect of SMP is that the system runs far smoother in an SMP system because of the extra capacity top handle CPU requests. Harddrive controllers are able to run while an application is using the other CPU, the O/S runs on one CPU while another application runs on the other, etc. etc.
 
The greatest advantage: if one processor crashes, you can use the other to save your data and shut down properly. This is independent of the software, as long as the OS supports it.

If both crash, you are out of luck. 🙁
 
Interesting. It would be cool to run some tests of that environment with Hardware &amp; OS support of SMP (Win2K &amp; i840) coupled with a non-SMP title (Unreal Tournament) then compared to non-OS support (WinME) &amp; Unreal Tournament. I imagine we could find out real quick-like how well coded the OS is when dealing with non-SMP titles and how it manages the OS while running non-SMP titles. Great discussion guys. 🙂 Oh ya, Dullard, thanks for fixing my math 🙂
 
Back
Top