Follow Slashdot blog updates by subscribing to our blog RSS feed

 



Forgot your password?
typodupeerror
×
Hardware

Dual vs. Single Processors 27

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?"
This discussion has been archived. No new comments can be posted.

Dual vs. Single Processors

Comments Filter:
  • 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...
  • There are no easy answers. It's hard enough to compare even a Celeron and a PII, which are more similar than what you described. No one can tell you, for a given hardware configuration, how many frames per second Quake will render (for example) without actually building that system. I think a lot depends on how well your OS and applications take advantage of the extra processor(s). I would look at Tom's Hardware [tomshardware.com] for informative, nicely written, discussions.

    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!

  • The more general rule goes like this:
    • Threads, in SMP-capable operating systems, are split among available processors and run in parallel. Therefore, long-running and easily parallelizable jobs will be more suited for a dual-processor system. Make (with the -j3 argument) forks itself to run at least two gccs at a time, and therefore takes full advantage of this.

    • Processes (sometimes these implement threads) are split among the available processors as well. Because Linux/UNIX relies heavily on running numerous concurrent processes, a dual-processor system is probably more suited for it than a more monolithic or sequential workflow (e.g. a single non-threaded client application).

    • On a uniprocessor machine, concurrency among processes is simulated in a synchronous manner. Given 40 individual tasks, the processor iterates through each one, giving it a certain "quanta" of time and taking into account priorities and nice values. Though a bit oversimplified, a dual-processor configuration would allocate 20 tasks for each processor to iterate through. The result, in ideal configurations, is a perceived doubling in speed. In actuality, I/O and bus contention decreases this figure somewhat.

    I checked shopper.com [shopper.com], and both a single unboxed Athlon 650 and a single unboxed PIII-500 are within $50-$75 of each other. Dual Athlons would be ideal (if the motherboards actually existed), but in this case you probably need to examine first how much you're willing to spend, and second, what you'll be doing with the box. Sometimes, I/O subsystems such as SCSI can make an equal or even greater perceived difference in speed.

    If money is no object, get two of the fastest chips you can find. If you don't normally fork huge numbers of apache, g++, and gcc processes, the single Athlon may be a better value.


    43rd Law of Computing: Anything that can go wr
  • The first thing to remember is that each CPU can only ever do one thing at a time. An operating system like Unix will simulate being able to do multiple things simultaneously by allocating each process a small amount of CPU time, and then sending it to sleep, while another process is given access to the CPU. If you have multiple CPUs, then there is more total CPU time to allocate to each of your available processes, and so, with an SMP aware OS, the machine runs faster overall.

    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.

  • My box at home is a dual PII 400 setup and I like it very much. I splurged for SCSI on the motherboard and I think that wasn't the best choice. If I could do it again I'd have gotten the SCSI as an expansion card.

    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 [tdl.com] site is a great site for doing research when building a system.
    hope it helps


    Citrix
  • 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.

    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 ;-) memory intensive applications of a computer can benefit from an SMP system.
  • Exactly what I have done!

    And I agree, get SCSI on the MB right away. You generally have to put a bit more money in to get a dual board anyways, any then the step up to one with SCSI on it isn't too bad. (A good SCSI2 card with bootrom cost more than my dual MB after all.)

    I'm thinking of upgrading to 2 new processors currently, two celerons most likely.

    Apparently the architecture for the AMD/Digital slot-A is much better with SMP (and more) since each processor have their own bus to the chipset, so they will most likely have better SMP perfromance. God knows when any will be released though.
  • 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
  • by InitZero ( 14837 ) on Wednesday March 01, 2000 @01:05PM (#1234359) Homepage

    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

  • Was that an IDE hard drive (or CD) / burner combo? I've got a single celeron (300@450) and I can easily surf the web (including pdf d/l & displays), run that with e-mail open (with background checking), and do plenty of other things (including some small compiles) and the writing never takes up more than ~10-15% CPU, no matter if it's a CD -> CD burn or a image -> CD burn... herein lies the advantage of SCSI (AHA-2940 UW with Plextor 40 UW, Plextor 20/8/2 U, and IBM 10krpm UW)... nice transfers handled well without a lot of CPU intervention. Most of the CPU is used by the cute (read: useless) animations in Easy CD Creator...

    I'm planning an SMP system, but after those other purchases (and a new house), I'm way out of $$$......
  • Yup, the savings are considerable for built-in SCSI on-board. A real Adaptec 2940UW (or 3940, or the new U2Ws) on board increases the board price far less than buying a separate card (like I have)... Check out the prices on the equivalent Asus boards w/ and w/o the built in SCSI (just as a reference). Pretty decent... though Tekram makes some nice SCSI cards that are fully AHA-29xx compatable (they used to use Adaptec chips,if I remember, they still might for some), and they are *way* cheaper than the real Adaptecs... I have no personal experience with them, though some of my friends swear by them...

    I'm still waiting for the dual-Athlon board, but I'm not holding my breath, either 8^)
  • 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
  • by Anonymous Coward
    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*

  • Are you planning on doing long compiles? Are you planning on doing serious number crunching that would benefit via multiple processors?

    I have been wondering about this for a while too, so to test it out I compiled the newest Linux kernel I could find (2.3.48) with it's default options on the two boxes I have to hand: A dual PII-450 with SCSI (/proc/pci says it's an `Adaptec AIC-7895U') and an Athlon 750 with on-board EIDE.

    Well.. the dual PII (using make bzImage modules -j2) managed it in 4 mins 3 seconds, while the single Athlon made 4 mins 15 seconds. So the single CPU option isn't too shappy, especially when you consider the far better floating point performance which 3D-Now allows (4 flops/cycle compared to the PII at 1 flop/cycle).
    I'm sure these results would be different with PIII's, but then so would the price, and PII performance is probably closer to Celeron than PII.

    It's a shame that there's no SMP Athlon boards yet (are there?) :'-(
  • This was a hot topic in the winter of '98 when Celerons first made dual-processor systems cheap. Check out these informative discussions if you missed them:

    Ask Slashdot: Is SMP Worth It? [slashdot.org]

    Ask Slashdot: What's a Good Motherboard for SMP Linux? [slashdot.org]

    Ask Slashdot: Building an Upgradable Dual Processor System [slashdot.org]

  • 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
  • Once again it depends...

    I have a dual Celeron 400 running VMware... it runs pretty nicely... and I have even had a couple of VMware's running Win95 and had the base machine crunching SETI@home at the same time... however one of the main limitations of VMware at the moment is the video... DirectX support is limited so I doubt games will run well no matter how much processing you give it... also make sure you pick the right video card for your X server.

    One of the REALLY nice features of VMware 2 (beta) is the suspend to disk... which means I can now run a virtual Win95 and when I don't need windows suspend to disk, shut down VMware (reclaiming the memory/resources for Linux) and when I need it again it is just a quick reload of the memory image and we are back running where we left off...
  • >> 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

    Interesting, but this quite definitely isn't true. If the program isn't written using threads, NT will only schedule it for one processor at a time. Threaded programs, however, can use multiple processors concurrently.

    I think we're talking at cross-purposes here, though.

  • I built a dual celeron with a BP6 MB, overclocked from 366 to 550. Nice and stable. Nice and fast... yet at times, I manage to chug.

    "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.

  • NT does dual processors.

    Get Matrox cards. G400 Dualhead and viola.

    Heck, get two Milleniums. Whatever.

    -sid
  • Thankyou for the correction GargoyleMT :) I have never played with NT myself, even on a single chip system so I can only relate what I have heard 2nd hand. What I was originally told was that to get the same performance from NT when running a second chip it often required doubling the memory. The explanation I was given as to why this was so is that NT liked to load a "2nd copy" of itself into memory for the 2nd chip. I admit complete ignorance of how NT deals with smp, has anyone run such a system and seen a need for more memory? I have a vague understanding of the threaded vs unthreaded side of things but lack more specific information on the memory side of things (obviously). I'd really like to get this straight so I won't be spreading misinformation...thanks Fian
  • Actually, a single 500MHz is never enough, but it depends on what you do. I don't consider myself a terribly demanding computer user, I chug along with a PII 300, but I do a lot of 3D, a lot of multi-threaded game programming, and a lot of gaming. I can bet you that I would be a lot happier with a 500 than a 300, and much happier with dual 850s. And I doubt they'd be spinning their wheels most of the time.
  • Just a little side note, but Linux itself can sleep to disk. Check out one of the patches linked to on Kernel Notes [kernelnotes.org].

"Take that, you hostile sons-of-bitches!" -- James Coburn, in the finale of _The_President's_Analyst_

Working...