Dual vs. Single Processors
Xanthippe asks: "I'm currently looking to build a new system and hunting for a within-reasonable-budget ideal. A friend suggested going with dual-P500 processors instead of an Athlon650. I wouldn't mind going with either, but I'd like to know how they compare. I know zilch about processors and their mysterious voodoo-god-like inner workings, but I can read a benchmark as well as the next geek-wannabe. Has anyone tried pitting a dual system against one of the 600+ AMDs? Are there any major advantages/disavatages in going with a dual system?"
well, quite frankly it makes a huge difference to have a dual processor box... depending on what you are doing ;) at work, i bought all of my engineers dual processor celeron 400's... not the fastest chip a celeron 400, however with 256 mbs of ram, they could run compiles with make -j 3 much faster than otherwise would have been possible with the comparable systems available back then. What do you want, do you want a machine that is VERY responsive? That when it's just you, your enlightenment, and a few xterms screams like crazy? then buy a single proc box, faster CPU. Are you planning on doing long compiles? Are you planning on doing serious number crunching that would benefit via multiple processors? (Realistically if this is just your desktop, screw around box, you wont be...) then get a dual proc machine... that's just my advice...
My personal choice: I got a board capable of dual Intel processors, but only put one Celeron 333 in it. I figure if I get really antsy for CPU speed, which hasn't been a problem yet, I'll either get a much faster single chip or buy a pair of moderately faster matched chips. The board was $235 about a year ago and was one of the cheapest dual-capable boards that supported 1 GB RAM.
Good luck with whatever you decide, and don't forget to make a web page describing your achievements!
Individual processes, however, can only make use of multiple CPUs if they are specifically written to do so (e.g., by using a threads library). Otherwise, they will simply run at the same speed as they would do on a single CPU. This gives rise to some interesting situations. At my last company, we were doing some fairly hefty image manipulation. The main conversion program ran quicker on the departmental laptop than it did on a 64 CPU Sun Starfire. This is because the program could only make use of 1 CPU, and the Starfire's ran at 200MHz, compared to the laptop's 250MHz. However, as soon as you try running lots of those processes concurrently, the SMP machine comes into its own.
So, in answer to your question, if you're running computationally intensive single-threaded applications, and absolute performance is a high priority, then a faster single processor will be better. Otherwise, you're probably better off with two slightly slower CPUs.
"The invisible and the non-existent look very much alike." -- Delos B. McKown
Anyway, I highly reccomend getting a mother board that can do 2 processors and if you need save the money by getting only one processor now.
The Net Express site is a great site for doing research when building a system.
hope it helps
Citrix
Leknor
http://Leknor.com
"So many idiots, so few comets"
Certainly, if you have 2 CPU's and your application is at all performance intensive, and has any ability to span multiple proceses or threads, 2 CPU's will help you. On Linux, there is an additional benefit with Xwindows: the GUI is all in a seperate process, so the second processor can handle the rendering of X calls for graphics intensive stuff while the first processor runs the actual software.
;-)
;-) memory intensive applications of a computer can benefit from an SMP system.
Additionaly, if you use things like VR then you'll have a CPU for doing the VR work while the other one actually runs the application. If you're running a server the second CPU will be a big benefit.
All that being said, the big thing to realize is that there's typically a world of difference between SMP systems an non-SMP systems that goes well beyond the CPU. SMP motherboards typically have much fancier memory and I/O subsystems because they've typically been targetted at the server market, and also because if you have 2 CPU's it's just that much easier for memory and I/O to be the bottlnecks. SMP systems have to spend extra effort to allow cache coherency between the CPU's, and that usually means fancier memory subsystems. Of course, you'll also pay more for the motherboard.
My advice is this: if you're thinking of getting SCSI, go with SMP, as the benefits of SCSI and the benefits of SMP tend to align pretty well together. If you're going to play games, go for the single processor, as few of them take advantage of SMP at this point. If you're going to buy a lot of RAM, that's probably another good indicator that SMP is going to be helpful for you, as most (but not all - a lot of vector processing doesn't scale too well for SMP
sigs are a waste of space
We have a Dual PII350 machine here in the office that was originally bought for 3D rendering, etc. It's running windows NT now, and is used mostly for backend web programming.
We had NT crash on us a while back (yeah yeah.. I know..) so we decided it would be good to run windows98 because of better hardware support for the VoodooBanshee we planned on puttin in there, as well as being able to run multiple monitors.
The speed decrease upon running a Non-SMP enabled OS wasn't significant. Well, that is, we didn't notice until we tried to burn a CD. The guy who usually uses this machine as a workstation was accustomed to working and burning at the same time. This is a joke with one processor on that machine.
I guess while in SMP mode, the machine monopolises one of the CPUs to handle I/O to the burner, and the other is put into the foreground.
Just my 2 cents, though.
At my URL above, I discuss some of the reasons that I chose to go with Dual processors. A few months later, I am now finding out that the experts at the time who suggested I go with a single processor system were probably right.
:-)
My situation might be similar to yours: A home user, dialup internet connection, a hobbyist programmer. For all of these things, fast processing is not the bottleneck - it is the disk drive.
However, I can beat just about anybody compiling a custom kernel!
Anyway, my point is, unless you know that you *need* an SMP capable system, you don't. An Athlon 550 will suit you just fine. OTOH, if you like ripping MP3s concurrently with a kernel compile, plus a session of Xchat, playing some MP3s and compiling the latest homework assignment - you will find that the dual processor system really rips. I know I cannot justify the expense of building the system, but it really rips *much* faster when you do many processor intensive things at the same time.
http://stuarthall.net
This post brought to you by your friendly neighborhood MBA.
Probably not. I'd be willing to bet that most of the time (SETI, Dnet, etc. aside), you're current PC is sitting there spinning its wheels.
Except for a relative few, computers have far more CPU cycles than they need. Even my NT servers sitting on 450mHz processors are idle more often than not.
So, unless you have a clearly defined reason and performance statistics showing you that you need dual processors, you probably don't. Even if you do have performance statistics saying that you need more power, think twice about going dual.
Is your bottleneck the CPU? Can your application really use more than one processor?
For a single-user system, chances are one CPU is more than enough.
And, though I know this has been covered before, never buy a dual CPU board unless you are ready to put both CPUs on it when purchased. I've never met anyone who has actually put a second CPU in the box later. By the time you have the money or need to add a second processor, you can get a single processor that out-performs the dual along with a motherboard with all sorts of new bells and whistles for about what the the old processor cost you new.
InitZero
I currently have 2 dual Celeron systems, one acting as a firewall, and one acting as my workstation. The firewall is running FreeBSD v3.4, and my workstation is running Windows NT v4, SP5. The only time I have really noticed a difference is with SMP aware applications, or when I am running multiple CPU intensive apps at the same time.
:)
If your doing 3D graphics (SoftImage etc), SQL programming/testing, large C compiles, or were addicted to Quake3, then a Dual processor motherboard makes sense (Dual celerons, slightly overclocked, is my recommendation). Otherwise, invest in a kick ass single processor Athalon system.
Now, if we were talking about a 6way ALR Pentium Pro system, then I would highly recommend it. Why? Pure geek value baby!
Jailbrekr
Feed The Need[goatse.cx]
I've got a BP6 w/ 2 Celeron 400's, and I've been pretty happy with it. I do wish there was a graphical metric tool(like the gnome multi_load applet) which displays thread distribution over an SMP system. Most of what I've seen are garage-hacked C programs, scripts, etc, running big loops trying to guess throughput etc. etc... Even a 'top'-like program displaying CPU#-thread-process info. would be great. Has anyone seen tools like this for Linux?
I am currently running two machines, one is a single PII 233 with 64 Mb RAM the other is a dual P166 with 64 Mb RAM. Under Win95 the PII clearly outperforms the dual 166 as Win95 is only capable of dealing with 1 CPU. I'm told WinNT is capable of dealing with more than one CPU but needs to load another copy of whatever it loads into memory for every extra processor. I don't know about the newer versions of Windows. Running under Linux is a different story. For example simply encoding an mp3 or compiling a program the PII again wins. If, however, I am also web browsing, playing some mp3's, chatting on ICQ the dual chip machine wins. Under such a load the PII will stall during mp3 playback for short periods whilst the dual chip machine performs nicely. As the others have already mentioned it all depends on what you want the machine to do or why you are building it. I built the dual machine (thanks Kim) as an experiment to see what sort of performance it would give compared to single chip systems. It performs so nicely that I much prefer it to the PII. A friend has since built a dual Celeron 400 machine for home which REALLY hums. Again this was done as part of an upgrade and he has been experimenting with running VMWare. He says it is possible to run multiple copies of Win95 under Linux without maxxing out the system. So now it is possible to take advantage of multiple processors under Win95 *grin*
I have all sorts of boxes (mostly running linux) my favourite is my dual celeron 550 (overclocked from 366 ;-). I am usually running alot of things like compiles, web browsers and graphics apps. It is at times like these the the dual element of the machine realy shows itself. I can be happily encoding MP3s and still have the power to compile the kernel in a reasonable time. The fact that games like quake 3 support multiple cpus shows that they are becomming more accepted and that we should expect other games to folow. A dual system under linux does have some odd quirks like no APM but they do not get any way near outweighing the power available from the system.
Ask Slashdot: Is SMP Worth It?
Ask Slashdot: What's a Good Motherboard for SMP Linux?
Ask Slashdot: Building an Upgradable Dual Processor System
Everything should be made as simple as possible, but no simpler. -Albert Einstein
I dual boot w/ W98 at home, but would like to be able to run Linux all the time. I like the idea of VMWare, but have heard that when you go to the "guest" OS, it can be alittle slow. If I had a dual box, would it run one Linux on one CPU, and the other W98 on the other CPU? Would VMWare automagically do this? Or would a good single processor box be better still?
Thanks,
Jeremy
Jeremy
"Opinions are like assholes; everyone's got one..."
"Why's that, Pixel?" I hear you ask? Well, if you don't go SCSI, odds are you're going to be I/O bound. The UDMA66 on this motherboard has been nothing but headaches, and besides, IDE takes CPU cycles (right?)
Anyways, if you're going to spend the money, get the most out of those CPUs. Get a SCSI card.