Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Hardware

Ask Slashdot: Is SMP worth it? 368

Here's another question from the ubiquitous Clan Anonymous Coward! I usually don't do AC posts, but the question was rather interesting enough: "Dual socket 7 motherboards are pretty cheap now, and P200 and P233 processors are way under $100. So would buying a dual p233 system be better than a single PII 450? I would be dual booting Linux and NT." What issues do you have to worry about when dealing with SMP (motherboards, memory, heat)? What SMP issues are there with PIIs as well?
This discussion has been archived. No new comments can be posted.

Ask Slashdot: Is SMP worth it?

Comments Filter:
  • I believe that you should do

    alias make="make -j(num of procs+1)"

    or am I wrong? I think it says that in either the kernel source (smp.txt)


    The next time you compile the kernel, when running a SMP kernel,
    edit linux/Makefile and change "MAKE=make" to "MAKE=make -jN"
    (where N = number of CPU + 1, or if you have tons of memory/swap
    you can just use "-j" without a number). Feel free to experiment
    with this one.


    --
    David Coulson (TechNoir)
    technoir@themes.org
  • It is so a word: irregardless == regardless, just like inflamable == flammable and English == confusing. Just because English has its troublesome bits doesn't mean you can unilaterally label them as wrong.
  • Check the header of your message, not the body.
  • It takes me just under 4 minutes to compile 2.0.36 on my lowly K6-2 300. I imagine I could get about 2:30 or so if it ran at 400 MHz and if I had a little more RAM.

    Maybe there's a bottleneck somewhere; I'd think you'd be able to compile a kernel much faster with hardware like that.

    - A.P.
    --


    "One World, One Web, One Program" - Microsoft Promotional Ad

  • Because AMD doesn't support any sort of SMP anymore. The K5 supported OpenPIC, but no motherboards ever did. The K6, K6-2, and K6-3 don't support any SMP standard at all.

    - A.P.
    --


    "One World, One Web, One Program" - Microsoft Promotional Ad

  • The K5 was the last AMD chip to support OpenPIC.

    - A.P.
    --


    "One World, One Web, One Program" - Microsoft Promotional Ad

  • > Isn't compiling a kernel really a single process.

    No. It is lots of little processes. Each source file gets individually compiled, an linked at the end (into a library, and then the library into the kernel).

    try 'man make' look for the -k parameter
  • oops. I meant -j. typo
  • I've built myself a dual PII 333 Linux-2.2 Box w/64MB RAM, UW SCSI 9.1MB. At 66Mhz bus speed, it's sometimes hard to keep those PII's fed. I do, however, get excellent compilation times and consistently push both processors during intensive tasks - so it's worth it to me. The system is extremely snappy.

    Now, all I have to do is get the PC100 memory to go 100Mhz bus.

    666.43 BogoMips and pushing the envelope.
  • When you do a clone(), does the kernel not create a new Process ID with the same code and data as the origional process and only only changes the data when the processes begin to diverge? Also Known As: CopyOnWrite. I'm not a kernel hacker so I may be slightly off on my definition...

    I'm under the impression that CopyOnWrite is why Linux's context switching is so fast and why the additional implementation of threads as a separate schedulable process type is unnecessary.

    As for the SMP problem being memory bandwidth... I holeheartedly agree. :)
  • Posted by !ErrorBookmarkNotDefined:

    You want 100Mhz bus speed at least.
    And don't buy one that lets you overclock
    the bus to 100. You want 100MHz bus speed or
    better. No nonesense.

    Now, you won't need that bus speed at first,
    if you buy the cheap dual PI233's. But later,
    when those 350s and 400s drop in price, you
    will need the bus speed.

    So. The words of the day are BUS SPEED.

    -- Former Asus SMP board owner, who had an "overclockable"
    bus; but had to replace the board anyway.

    -----------------------------
    Computers are useless. They can only give answers.
  • Posted by steelerm:

    I salute the courageous message of this Anonymous Coward, this blow struck in the name of linguistic purity. Where would we be, after all, if we deviated from the rules of dead, white, grammarians? Sure, there are communities of people who can understand each other without speaking Standard English, but they do not speak properly. Because rules of speech that differ from the rules for written Standard English are wrong, per se .


    But I lament that your own poor English sullies your noble message. To redeem its worth, I have attempted to correct it.


    People will do anything these days to make sure they can be victimized in some way just so they can join the ["]pity me["] crowd. I might not be the oldest person alive[,] but even I knew the meaning of shame when I was a kid. Apparently, [people today] revel in being (this unnecessary use of "to be" really is ungainly) that do nothing but beg for [handouts] and understanding because they have screwed themselves up (Screwed themselves up? Can't we do better than this dirty vernacular phrase?). Ebonics is just another example of people being too lazy to do something the right way.


    I am truly sorry, Anonymous Coward, that you were too lazy to post this message the right way. But Alas! I have just noticed that my own post contains at least one sentence fragment, and another sentence that begins with a conjunction! I, myself, have failed! But then how can I be superior to people who speak differently from me?
  • by Craig ( 839 )
    > Can't Linux just balance the processes between two processors?

    Yeah, and he does it pretty well. But keeping both processors busy on a desktop machine is a good trick; most of us are doing only one really heavy computing task at a time; downloading in the background hardly keeps the CPU awake, let alone busy.

    But if you make -j3 your kernel on an SMP machine, for example, which tells make to spawn and manage three separate jobs, you'll notice quite a speedup; you'll save about a third of the time (not half, because of overhead) if you've got enough memory.

    Craig

  • I don't think the orginial pentimun chip is worth buying, a dual P233 is probably about equal to a single PII250.

    I own a dual PPro-200, and I love it, kernels build fast (FreeBSD) So I would recomend a dual processor system, but not with chips as old as you say. (remeber my ppros are equivelent to a PII-380, but the PI would not)

    My advice: get a dual pII motherboard, even if you only do one CPU in it. If your comfortable with modifications to hardware consider the dual celerons.

    don't forget that memory bandwidth is really a problem with dual chips, get plenty of memory, and a big cache.

  • It's not possible to buy a Pentium MMX dual socket 7 motherboard and then later upgrade it to P-II. P-II is slot 1 which will not plug into a socket 7 board.

    Therefore I wouldn't worry if the dual Pentium MMX dual MB supported bus speeds greater than the Pentium MMX supports.
  • sarcasm is a process of mutation. mutation is good! hmmm.. three-eyed fish.
  • I dont think i'd wanna use any programs that were in charge of distributing its own threads across more than one processor....thats what the OS is for
  • It's probably at least as fast, or faster, than a pair of Pentium 233's. The problem is that doubling the number of processors doesn't double the memory bandwidth. Furthermore, the BH6 runs memory at 100 MHz rather than 66 MHz, which helps a lot.

    If the SMP board has 128-bit wide main memory you'd see an improvement, though. Also, depending upon your application the bigger (but much slower) L2 cache might help.
  • Well, depends on what you're doing, but I love my Linux SMP box. It's plenty fast and smooth.
  • WTF is that? It's LINUX SMP.

    Red Hat's got nothing to do with it.

  • by mholve ( 1101 )
    Linux needs a simple kernel re-compile after changing one number in the Makefile. NT needs a whole lot of crap... If you use MS's own utility, it will render your system useless, as it did mine. Do a fresh install. Damned NT. After that happened, I didn't use it again for many months. :)
  • Just because English has its troublesome bits doesn't mean you can unilaterally label them as wrong.

    Yes, you can. Just because several people agree to do a stupid thing, does not make it any less a stupid thing. Irregardless is a silly word and people should not use it. That they do anyway is no justification for it being an 'official' part of the language.

    I'm similarly beligerent about punctuation. This business of putting punctuation after closing quotes is silly and illogical. Quotes should be treated as nesting parentheses in an expression.

    e.g.
    I was amazed when I heard John say "Julie said 'Who is that guy over there?'."!

    Any conventional attempt to punctuate that sentence would be a mess. You'd end up with something like:
    I was amazed when I heard John say "Julie said 'Who is that guy over there'"?.!
    or
    I was amazed when I heard John say "Julie said 'Who is that guy over there'"!

  • by tak* ( 1121 )
    Heh heh...true. I('ve) use(d) Mac, PC, and BeOS. They both have features I like and dislike, and each one has its place
    Now we're nothing.
  • Didn't I see reports that Celerons needed some fancy soldering to run dual? Or has Intel wised up? (yeah, right)

    Jón
  • BTW, actually, MacOS 8.6, in beta testing now,
    apparently has completely reworked SMP support.

    So it's getting a lot better! Things are
    looking up!
    Phil Fraering "Humans. Go Fig." - Rita
  • Um, it annoys me too, and it's definitely ugly, but you might want to check out the references in a similar spelling flamewar [mozillazine.org] on the Mozillazine -- Dictionary.com and Merriam-Webster both say it's a valid spelling. Personally I'm particularly irritated by `loose' used where the correct word is `lose'. Ob-spelling-mistake: so htere.


    --
    W.A.S.T.E.
  • FOLDOC says [ic.ac.uk]:

    [...]
    The term comes from Swift's "Gulliver's Travels" via the famous paper "On Holy Wars and a Plea for Peace" by Danny Cohen, USC/ISI IEN 137, 1980-04-01. [...]

    --
    W.A.S.T.E.
  • I found a copy of that paper -- it's interesting reading: "On Holy Wars and a Plea for Peace" [rdrop.com] by Danny Cohen, USC/ISI IEN 137, 1980-04-01.


    --
    W.A.S.T.E.
  • Just a thought.

    2 processors means half as many context switches per CPU, and faster responses to interrupts?
  • only on linux, where threading is broken. on a real OS, threading means that you don't need to context switch.
  • you'd expect 16 cpus giving approximately 14x the performance of 1 on a modern SGI, as a rule of thumb. sequents, tho', are about as close to linear as you can get.
  • i have experienced excellent performance improvements on NT for both web serving and SQL server, over already impressive performance, approximately 1.9x for the first CPU added, dropping to avout 3.4 for quad CPUs.
  • Can't Linux just balance the processes between two processors? Like if you started a whole bunch of processes at once? Could it run a few on one CPU and run the rest on the other CPU?

    Well, Linux tries to do that. For instance, if you have two CPU-intensive processes (say, an RC5-64 cracker and a numerical simulation), Linux will schedule them on separate processors, and you'll get an speedup of 1.9 or so relative to running both on a uniprocessor machine. However, if your processes are I/O or memory bound, SMP systems will be at best the same as a uniprocessor system and possibly slightly slower due to contention for the memory or I/O bus.

    So, if you do number crunching or heavy duty non-realtime 3d rendering, SMP probably makes sense. (It does for me, anyway; I do a fair amount of prototyping of numerical simulations on my home machine before I move them over to a Cray or SGI Origin.) For DB and web serving, it might or might not help. Most desktop users probably don't need it.

    --Troy
  • only on linux, where threading is broken. on a real OS, threading means that you don't need to context switch.

    How does NT, which I assume you consider a "real" operating system, swap threads on a processor without doing something equivalent to a context switch (i.e. saving register contents and process/thread state)? How is this less costly than a context switch on Linux? And why is it that NT's thread switching time is *slower* than Linux's context switching time? (BTW, SGI's IRIX schedules threads in a manner almost identical to Linux; do you consider IRIX a "fake" operating system as well?)

    I submit that the Linux scheduler is written the way it is because it makes more sense from a performance perspective to have a simple single-level scheduler (where threads == processes) and make that very fast than it does to have a complex multi-level scheduler (with threads inside processes). The only difference between a process and a thread, at least from my point of view as a programmer/user on big systems like the SGI Origin 2000 and Cray T3E, is that threads have shared memory areas. That's a distinction in the process or thread's memory layout, but IMHO it's not something that should extend into the scheduler unless you're doing truly nasty things like gang-scheduling threads.

    --Troy
  • You hit the nail on the head! The limited memory bandwidth of the Pentium architecture is the primary reason that SMP Pentiums are not a good idea. SMP with some 350 P2s or Celerons (with the appropriate modifications/slockets) makes a lot more sense. The PPro/P2 architecture does a very nice job with SMP. The SMP Pentium setups are kludges by comparision.
  • What are you talking about? The celeron uses the same core that P2s do. Intel simply failed to connect the SMP trigger line (BR#1?) on the Celeron SECC and produced specs that obscured the pin's location on the PPGA. When you connect that line to the appropriate edge connection, all of the normal memory coherency is in effect. If "Intel deliberately left the coherency stuff out of the Celeron," it would have increased development costs and, in turn, the cost of the shipped product. Hobbyists who are willing to violate their warrantee are reaping the benifits of Intel's little marketing creation.
  • by Daniel ( 1678 )
    Speaking of which..can someone please explain exactly how BeOS 'pervasive multithreading' works? When do threads come into existence? Where do they go? If I write, say, a 'hello world' program w/out worrying about threads, why don't I get deadlocks if my program is spinning extra threads off randomly? Are we dealing with threads being created for GUI callbacks, IO events, etc... ??

    Daniel
  • The only thing with that is, linux's context switch is faster than NT's or Solaris's thread switch.....
  • technically, shouldn't inflammable mean "not flammable"? It's the same argument as regardless/irregardless i think. Use whichever. All these english people who get upset because people say irregardless should stop using the word inflammable.

    Flame away - i am inflammable! :P
  • you can also use the -l option to gnu make which limits the load average. I often use "make -j -l 2.5" which will only spawn new processes til the load average reaches 2.5
  • Like the other poster said, a second CPU will only give you about a 30% boost - SMP on NT is pathetic. Every other OS does much better. So if two low-cost CPU's is significantly cheaper than a single high-performance CPU, then go for it.

    --
    Timur Tabi
    Remove "nospam_" from email address
  • You know, for me it was the Ayn Rand quotes that really said it all...
  • Normally, punctuation marks are place within quotation marks. In the computer science community, however, it is often counter-productive to follow this rule, since quotationmarks often deliminate input. Periods, commas, and other punctuation marks are often not desirable in a input stream. So, some people have endevoured to popularize the "punctuation outside of quotations" rule.
    After all, the suggestion 'Type "enter."' is awfully ambiguous to a first time computer user.
  • The two Pentium 200 CPU's would be much slower than the PII-450 by a long shot. The P5 has very little onboard cache, and talks to external cache over a 66mhz CPU bus. The PII-450 would be taking to a 225mhz on card cache, and a PPro 200 would be talking to a 200mhz on chip cache.

    If you really want to do SMP, consider dual Pentium Pro's. You can get the 166/512kb's 180/256kb's for about $120 and they overclock reliably to 200mhz. Even at the factory clock speed, a 166/512kb would be much faster than a P5-200, and two of them would perform as well or better than a single pII-400 for many tasks.

    Pop two PPro's on an Intel pr440fx motherboard that you can get for $100 on eBay and you've got a kickass fast system with built in ultra-wide SCSI, 100baseTX ethernet, sound, and USB, all of which work flawlessly under Linux.

    Executive Summary: P5 CPU's are obsolete and a waste of money. Even two 233mhz p5's would be significantly slower than a single PII-450. PPro CPU's are a good buy, and you can prolly get two of 'em and a motherboard with SCSI and other goodies for cheaper than a PII-450 chip and board with the same features.

  • Recent versions of FreeBSD have SMP support. A friend of mine runs a system nearly identical to my dual ppro200 (except he's got FreeBSD instead of Linux) with good results.
  • EDO Buffered DIMMS work on many Sun Ultra's. If you go shopping for surplus Sun hardware, you can pick up cheap modules or 64-bit SPARC's to use them in.
  • I have a SMP motherboard in my computer and I was just waiting for the prices of PIIs to drop before replacing my Celeron. However, if I can get a Celeron 370 to slot 1 converter that has the SMP mod, I will go that route instead.

    This machine will be used to run Linux about 90% of the time. However, for the few times that I need to boot into Win95, would it matter that I have an extra processor? I know it won't use it, but I don't want it to screw things up either.

    Does anyone have experience running Win95 on such a machine? Thanks.

  • Actually I think he made his point quite nicely, if not technically.. basically, yes, most Mac apps, even when "multithreaded", dont take advantage of SMP unless explicitly coded for it, though I do have a large number of apps that have some serious punch on my dual-604e motherboard, and these are the apps youd expect it from (ezcept servers). Most 3d apps have support for it, and i believe it scales pretty well up to 4 cpus... I dont know of any SMP-capable servers or databases for the legacy MacOS, but OS X is a different game.

    Is it your belief that a monothreaded x86 app would somehow distribute its load across multiple processors? I very much doubt this...

    As far as MacOS X supporting SMP *EVENTUALLY*, there seems to be a great deal of misunderstanding regarding this... OS X Server 1.0 should be fully SMP capable, though the current line of PPC 750s arent gonna be spawning any dual-cpu models because of a weakness of the 750 ("G3")... tho there have been some interesting demos of 750-based SMP systems.

    In any case, there is absolutely nothing preventing SMP in MacOS X, just the current CPU line, which is coming close to be cycled out at the high-end anyways... and, thank GOD, one nice legacy ball-and-chain will be gone in that we will no longer have to choose between virtual memory (swap) and SMP... i dont care what happy-happy-joy-joy Mac Evangelist lays his touchy-feely crap on me, that is one pain Ive lived with for far too long (though its a great excuse to have every DIMM slot filled with the big ones).

    No, this definitely isnt Mac Evangelism... it brought tears to my eyes to see the true potential of my SMP box the first time I loaded BeOS on it.

    One GREAT app for these machines (dual 604e based boxes) is running Distributed.net clients... I just loved comparing my keyrates with my Intel brethren :)
    Binary Boy [mailto]

    If you think education is expensive, try ignorance.
    -- Derek Bok,
  • AMD K7's will be using the same SMP protocol as Alphas from what I understand...
  • "deliminate"?
    eliminate?
    delineate?
    elimeate?
    permitate?
    coginate?
    ecuspidate?
    bicuspidation?
    tricuspadoration!
    What were we talking about, anyways?
    (hehheh: more troll bait!)
    t_t_b
    --
  • by Fandango ( 2618 )
    Minor correction: every *window* gets its own thread (for the event loop), but not every GUI widget.

    -Jake
  • K6 could be run in SMP configuration.

    You just a socket7 motherboard with a chipset that supports OpenPIC (doesn't exist).

  • The obverse is usually the case: unless you're doing something weird, you probably will see gains

    For example, running netscape involves at least two processes, netscape (duh) and the X server, both of which are major cpu consumers. The same easily applies to X-based games, transparent terminal windows, Word Perfect and even more easily to apache (where even a single client parallelizes requests).

  • Even if you're doing parallelizable tasks (compiles etc), given that a PII 450 is going to be at least twice as fast as two pentiums, irregardless of speed, you won't gain anything besides the whole "damn SMP is cool" thing. In terms of SMP in general, "it depends." If all you do is play games, or browse the web etc you won't get any benefit out of SMP. If you do things such that there can be multiple tasks all vying for CPU at once (parallel compiles, scientific multithreaded/processes computations etc) then SMP can be a win. For most people, it probably isn't.
  • Yah, if you have multiple processes contending for time at once, SMP will help as well, but my point was that most people only have a single task running at once, and in any case two pentiums running at half the speed of a PII aren't going to outrun the PII.
  • You're right, I was thinking "irrespective" but a neuron must have misfired.
  • ...and said systems can't spread threads across multiple CPUs, so you just lost one of the main benefits. You need context-switched threads to do SMP and Linux' context switches are faster than most of the systems that use userland threads anyways.
  • I get whoopity-ass kernel compile speeds (make -j3), but I can find little else under Linux that supports threads. The official list names about 20 different programs, including Roxen, Blender, and (my favorite) the Ultima Online client.

    I wish Enlightenment or gnome or X supported threads. That's where I need my main power boost.


    --
    As long as each individual is facing the TV tube alone, formal freedom poses no threat to privilege.
  • Should be the number of cpu's +1.


    --
    As long as each individual is facing the TV tube alone, formal freedom poses no threat to privilege.
  • You see, you aren't making apples to apples comparisions here with the CPUs. First off, there's cache and bus speed differences- and the PII is going to win out. Also, realize you won't see as much speed out of that second processor as you'd think, it's not double- it's more like 80-90% of double the speed (all the admin overhead of the SMP operation).

    In all honesty, the only time you want SMP is if you're doing a server of any kind and the pricing on CPUs makes it so that you end up with a machine that is as fast or faster for less. A good example would be the web server I just set up for my employer. The price breaks for 2 PII 350's were better than for one 400 or 450 in the machine(as in it cost us the same as a single 450 would have!)- so it made a lot of sense to do it as an SMP box (Something on the order of 600Mhz performance overall on compiles and actual server operation...)
  • No, you don't get the same power you would from a single chip (even if the chips are clock per clock speed equivalent), since both must share the same already limitted memory bus. Actually you get much better benafits from multiprocessing on other architectures (eg. sparc, alpha) which have less pathetic memory access.

    If you're running Linux, you should always be able to get plenty of CPU power to kill runaway processes. Now granted, you won't have 50% available to kill a single runaway process, but on the other hand you will be able to run a process at 100% CPU time. In any case, the UNIX model for processes downgrades the priority of processes that take too much CPU time, so that other much smaller processes tend to run in near-realtime. In theory you could limit any process to 50% processor power on a single-processor machine and have all the benafits you talked about w/none of the disadvantages. But you wouldn't because you might as well let processes run at full CPU potential. Note that an OS w/a more modern kernel architecture such as Be (or HURD i guess) will give you absolutely flawless user interface even when the system is massively loaded down.

    In addition, a dual PII-300 will perform _much_ better than a dual P5-200. The PII is quite a bit better than the Pentium clock per clock, and you're getting many more clocks than a single pII-450 would.

    Oh, and the best dual slot-I MB is the Tyan S1836DLUAN Thunder 100 -- onboard audio, fast ethernet, UW SCSI, up to 1gig RAM.

    The "extra chip" does NOT "make the workstation unstoppable" it just makes it that much faster than one chip of that type at that clock speed. But looking at the same chip, with the same total CPU Hz available, a single chip machine will be faster for a particular process and have greater aggregate CPU power.
  • Why do you want SMP? If there are lots of `medium-size' jobs (e.g. serving CGI to vast numbers of users) it's worthwhile. If you just want to do your own work, you're only likely to really get the best of it if you write custom software.

    I don't think I'd ever recommend 2x P200 instead of 1x PII, unless you already have a lot of the bits you need and feel like building a budget SMP box for fun. Of course, if you already have a PII and still need more then SMP obvious becomes a much better prospect.

  • With Linux you need to compile an SMP-aware kernel. With 2.0 you need to uncomment a line in the makefile. 2.2 (which is well worth it if you're using SMP) just has a configuration switch. NT is much the same, I believe, except you just need to install the SMP kernel off the install discs.


    Applications generally don't need to know or care about SMP, unless you have some specific program which only launches extra threads if you tell it to. e.g. gmake, which will benefit from being invoked with the flag -j

  • gcc is not threaded because each stage is a different process. It makes no sense for gcc to be threaded.

    For further performance improvements, use gcc -pipe, so data is pipe'd between stages rather than using temporary files.
  • Anyone silly enough to toss out an arbitrary "adding a processor will only yield [foo]%" is obviously overlooking most (if not all) of the factors involved.

    What you're doing has far more impact on the potential benefit of more cpus than anything else.
  • sure, take a pcchips M750 mobo (www.pcchips.com.tw) and 2 celeries 300A o/c to 450, that's all, less than 300$, and on the mobo you have a i740 with 8Mb AGP video, and a 3dsound onboard also, what do you want more?!?
    for dual celeries working there's lot of place to find info, either on SEC or PPGA adaptor.

    now you can run BeOS 4.1 on it and it flies!
    --
  • In Sweden a CD is called "a CD disc"...
    /El Niño
  • Any multiprocessor system is going to have additional overhead from "processor synchronization" to keep each CPU from accessing memory locations while another CPU updates those data blocks. Each additional CPU increases the overhead. The amount of overhead would depend on the SMP capabilities of the processors for supporting structures like spinlocks, etc...

    On our old VAX systems, the 1st additional cpu would add about 50% more CPU power...the next CPU added about 25% more... you get diminishing returns for each additional CPU because of additional synchronization required.

    Linux and NT will get some benefit in that each process would be capable of running on a separate CPU. Multithreaded applications would benefit the most (utilizing the pthreads library or similar libraries). BeOS I hear _heavily_ uses threads, and is also written to take as much advantage as possible of multiprocessor systems.

    All in all, a dual-processing system would be great if I had several processes executing at the same time (like a raytracer in the background)...but right now if you're just playing Quake or running a single single-threaded app, you won't gain much. ALso keep in mind that Win95 is not SMP-capable.... I don't know about Win98.

    Just my $0.02.
    --
    John Kramer

  • I am currently running a dual PII 266. Kernel 2.0.24 compiled for dual, embarased NT speed wise. Everything from quake2 to windows apps in wine ran better. The real change came when I upgraded to the experimental series around 2.1.121. Holy crap it eats everything for breakfast. The spinlock method really improves load handling (things like doing a make won't interfere with playing a video game.) Almost makes wish I still had NT on here to show people what I'm talking about...Nah no it dosn't.

    I have to check out smp mesa!


  • I'm doing it right now, and warm reboots work.

    95b just happly bops along ignoring half the power availible to it.

    I have no idea about 98.

    (rustle shuffle)...Damn can't find the motherboard manual, well I've had it for a year and a half now. The mother board is a 66mhz made by Tyan with an AMI bios. It's a dual PII 266.

  • The Pentium is really an old CPU design, and dual boards had a shared L2 cache architecture (pants).

    Over-clock a Celeron in a BX motherboard, or even a dual BX board, and you'll get far better performance at around the same cost.

    Dual Celerons [cpu-central.com]

    Single Celerons O/C [cpu-central.com]
  • >Macintrashes require distinct applications for SMP systems (because the OS is SMP-impaired).

    Sure, Bill, whatever. Divide and conquor the Anything But Microsoft crowd, right? And HOW bad did NT keep crashing for Adobe at Seybold, where they had to do all the demos on MacOS instead of 50-50 as was planned?

    ... and what EXACTLY does Windows NT do with applications that are not "distinct for SMP systems", as you put it?

    Not a heck of a lot. I'm sitting on an Intergraph GT1 with 2 Pentium2 400's, running Windows NT.

    Few apps ever uses more than "50% of the CPU pool", or a single processor. You are saying just put any app on an NT box and the OS will magically distribute the load, eh?

    Oh, PhotoShop does use both CPU's... must be written that way. ;-)

    >NT or Linux... doesn't matter - any app that'll run on a one proc machine should run on an n-proc machine.

    Um... really? You are genius. Sweeping generalizations, Microsoft style... PURE FUD.

    Oh, and NT also does not feature power management... ever take an NT laptop on a plane? Better carry another battery unless you're using a Mac or Windoze 9x

    Color calibration for NT? Nope...

    Multiple display support for NT? SORT OF if you don't mind the fact that the cards have to be the same chipset? Oh, also with NT you can't have different resolutions running in each monitor (very useful if you are proofing an app or webpage for different resolutions. Oh, and how the NT OS automatically sticks all dialog boxes in-between both monitors, instead of nicely centering in the default monitor

    Scripability in NT? there's nothing even remotely like AppleScript, needed for automation and piping data from one application to another. Sure, WindowsNT has OLE which is not scripting, and requires [cough, cough] purchasing more Microsoft tools. Unless you want to count CMD.EXE... a GREAT environment for scripting in NT (not). That'll be gone too in the next version of Windoze and you'll have to buy VB Lite to build little programs that "list a directory and then print the list" which you still can't do in Explorer.

    Don't be an ass. There's huge shortcomings to all OS's out there. MacOS X Server takes a big leap forward with a UNIX-based OS, and every few months Linux is getting better, while only Windows is lowering its quality and becoming more closed an environment...
  • Oops, you're right on one point -- I did acknowledge the Mac SMP problem" at first but lost it when I shortened my post. I stand corrected. I don't see where you're ass-u-me ing my response was wounded pride however - I don't have a Mac, but I ALSO loathe misguided pro-Microsoft evangelism & FUD, and stating NT magically distributes application load over CPU's is just bullshit.

    Never mind the fact that since Pentium II CPU's do not easily scale beyond 2 processors, I'm stuck with just 2 CPU's when I could do more with 4.

    I have a dual processor NT box here and VERY FEW Windows applications use both processors. Unless the Win32 app is written to take advantage of multiple processors or threads, then the app will sit on a single CPU be it MacOS OR WinNT.

    Apps like PhotoShop are heavily threaded and support multiple processors on either OS. I've seen Adobe products scream on a 4-CPU DayStar MacOS machine..

    Here's what I know on the subject, if this helps anyone:
    MacOS apps may use the SML-enabling extensions licensed by Apple from Daystar, but these are not very stable and are cumbersome to program (so I have been told!). Mac OS X fixes that at the OS level -- if the app is recompiled using Carbon API's. The last remaining issue is G3 CPU's do not SMP very well, and when you have 2 or more processors running in paralell they will invalidate the other's cache, which kills responsiveness. This limitation CAN be worked around, as we've seen the press releases from PowerPC Linux and the Amiga folks who are pursuing 4-way G3 solutions (it can work but it is a hack). SMP existed in the 604e and will return again in the G4. I think the G4 CPU's will also support multiple cores in a single chip also (!!).
  • I've got dual 400MHz celerons on a 66 MHz LX SuperMicro that say they wanna throw down with a 3000 dollar BX PII dualie.

    It's just rich that they stopped making PIIs for the 66 bus at 333MHz, but are planning to take
    the multiplier to at least 7 (466) on the Celery.

    Get your drills out guys and gals.

    -k
  • Running database servers and a workstation on daul PII 333's on a Tyan ThunderII mobo. Was running kernel 2.1.132 but migrating to 2.2 now. Been very stable and kick a$$ performance. Pumps out 3Mkps doing RC5 too :)

    The DB server has a 40GB raid volume which has also performed perfectly. Very snappy.

    Linux is cool :)



    ----------------------------------------------
    bash# lynx http://www.slashdot.org >>/dev/geek
    Matt on IRC, Nick: Tuttle
  • Never heard the term.

    You are right, that it impossible to police the fluid nature of a language, because who defines a language but the people who speak it? Eventually, all structuralists must conceed that the hoi polloi are truly in charge linguistically.

    However, the people who would police what is allowed and is not are just as necessary in their own way, if we wish to make our language more rooted and static than fluid (excessive linguistic change is not necessarily a good thing).
  • It is true that the "hoi" is in fact the definite article in the greek phrase "hoi polloi" and therefore is translated as "the", but this is an example of what I mean in a way of common people controlling the language: "The hoi polloi" has indeed become a seperate phrase used sometimes by journalists and classicists to mean "the masses of common people", even though to be strictly true to the origional greek it is redundant. However, the article also contains the plural nature of the noun, as well as a mood marker.

    The origional greek meaning is both complex and really interesting, and if you ever study greek, you'll come to like it.

    This is a weird place to have this thread, but oh well....
  • by RISCy ( 5493 )
    Dual Processors != SMP, SMP is just one method. The AMD K5 used to do OpenPIC(I cant speak for K6's), which incidentaly is what the quad proc G3 computer running linux uses for the multiprocessor implimintation. saw it on Slashdo recently, but I'm to lazy to find it.
    ---------------------------------
  • AMD and Cyrix chips are not SMP capable.
  • If I remember right, their "pervasive multithreading" means, first, any system objects will have their own thread (eg all the GUI widgets), second any system call will run threadedly if it can, third it is easy for you to create and use your own threads.
  • sort of...
    an SMP box becomes SMP when the SMP bios is initialized by the OS during the boot-up process.
    This has to happen on every boot, so you'd have no problem in the config suggested, at least as long as you power off between boots. If you just C-A-D'ed, you may leave the bios in SMP mode and may confuse win9x. other than that, i don't think there'd be any real problem.
  • In your dictionary words beginning with the letter "i" come *after* those beginning with "n"? How curious.

  • I got it up and running, but had some serious stability problems - not sure if it's timing problems (due to that big ol' floppy wire looping around the card) or if I have a mechanical connection problem. I'm using a Asus P2L97 motherboard - was getting random lockups. I'm gonna do some careful resoldering one more time, then perhaps I'll give up if I can't get some stability out of it. Anyone have this setup running reliably?
  • How do you know exactly what the Celeron 300A does and doesn't have (coherency support, etc)? Is all this in the data sheets? You sound like you know what you're talking about, but I haven't seen these issues discussed anywhere else...

    Oh, and did you mean "random crashes" when you said "random caches?" :-)

    Thanks.
  • I've been doing this for a while - no problem, but your second processor might get bored. You should swap CPU0 and CPU1 every googleflop or so, to ensure that the second processor doesn't get jealous. :P
  • Can be found on that amazing site, www.ars-technica.com -- the Damage Labs has been working with SMP and overclocked boards for awhile and they did some benchmarking about the value of SMP vs. faster clock speeds.
  • Dual PII is *very* well worth it. Each processor has its own L2 cache and that helps avoid the problems seen in pentium SMP - memory access.

    With a dual P1, it is possible to be *slower* even with smp aware code than a single p1 at the same clock.. dual p-133's can be slower than a single p-133.. nonsense you say? Take a memory IO bound process operating randomly and heavily over a 400k dataset and a 128k code loop. Each processor has 8-16k (classic vs mmx) of local L1 cache onboard. Anything not in the L1 cache must be accessed from L2 cache, which is shared between the 2 processors. Acessing the shared cache requires contention against the other processor for control of the memory/l2 cache bus, which is not a trivial overhead. In the case of a large dataset and codeset, dual p1's can be slower than a single p1 of the same clockrate, because most of the time is spent arbitrating access to the l2 cache. Admittedly data/code loops this large aren't common in PC apps.

    Even in the *best case* scenario you expect a 70 or 80% boost from the second pentium.. thus dual p-233's would at best perform like a single pentium 413, which is *vastly* slower than a pII-450.

    Dual pII's do not suffer this memory contention problem as easily, since each processor has 512k of l2 cache onboard. You'd need a code/dataset significantly larger than 512k to cause the problem (random access over a 3-4meg working dataset and 1-2meg working code loop with lots of weird branching could cause the problem on dual PII's but it's really hard to find real problems with codeloops that big. And even with that, the 512k l2 cache may keep the processors busy enough they aren't in contention for memory all the time.)

    Personaly, I'm considering building a SMP p1 system despite these caveats.. but I *know* that under no conditions will it be faster than a pII-450... I'm considering it for the geek factor.
  • I run Turbolinux 3.01 (with the supplied SMP kernel) along with BeOS R4. Two Pentium 150s on a Giga-byte GA-586DX board with 96Mb RAM. It cooks. You do *any* image processing and you'll see the difference.
  • >Ebonics is just another example of people being too lazy to do something the right way.

    Just like shell scripts are for people too lazy to type out all commands by hand, every time, huh?

    Language is a tool, just like anything else. The easiest and quickest way to do something is often the best.

    Please remove yourself from your high cultural horse. Thanks.
  • Actually this used annoy me, then my hearing started to go, and now I consider it a form of forward error correction on a half duplex channel. If I miss the "you" in "where are you at" my synaptic syndrome decoder kicks in and I know what you said even though I didn't recieve all the words. Like wise with the other forms you cited.
  • how about dual water-cooled thermoelectic cooling modularized PII's? ooooooooooooooohhhhhhhhhh, nicccccccccccccccccccce!

    :-)
  • note that (quad xeon dell != dual P-266s)

    I've got a dual PII-300 here at work, and it's been totally smoked by later single-CPU machines because it has the old 66Mhz bus.
  • Troy, I think there's one more difference:
    Unix processes have separate address spaces.
    Each address space starts at 0 (2gig, whatever),
    hence they overlap. For a thread change you
    keep the virtual-to-physical memory mapping,
    for a process change you need to change it (which
    means flushing the TLB - translation lookaside
    buffer, lots of traffic between MMU, which is
    part of the CPU-"chip" and the main memory).
    Also, I think the main Symmetrical MP problem is memory bandwidth.
  • Aside from 'make -j2', which schedules multiple independent Make targets for concurrent execution, there is also 'gcc -pipe' which implies at least two processes.

    There is a wall-time improvement just doing a "straight" (no application-level SMP support) compile of a large program such as the Linux kernel on a two-processor machine.
  • The new 300A's in the PPGA form ( socket 370 ) can be used in Slot 1 boards with an adapter.

    On some of these adapters, SMP can be enabled easily just by modifying the adapter ($15 part, just buy three in case you mess one up ), and thus circumeventing the old school celeron hack.

    BTW, the PPGA 300A's go to 450 just as easy.

    http://www.bxboards.com has article on it somewhere.
  • Where can you buy these at? I've got an aging P233mmx, but am loathe to upgrade to a PII since I'll need a new case, new RAM, etc. but just adding a different mobo and another CPU would be keen.
  • Most home users will never exploit SMP, and for them I think they are simply wasting their money.

    If you are running a loaded server, then it might be worth investigating, like a loaded Oracle server.

    Note that you will want RAID and a lot of memory - two processors sharing one disk and little memeory are not going to be faster than one processor using one disk and a little memory.
  • um, you are quite wrong. My dual celeron 450/100
    machine will back me up with this. It works,
    and works WELL. you need to unmess up the
    glue logic which intel left disconnected
    so that one wouldn't use their celeron in
    dual mode.
  • What I am stating that I believe to be true: If you randomly pick a sample of 1000 (american) people, and ask them a question containing the word "irregardless" that they would comprehend the word fully.

    The trouble I have with the use of nonstandard terminology and syntax being backed up with only `well, you know what I mean' (this reminds me of what my calculus teacher says, which is, "listen to what I mean, not what I say") is that it leads to situations in which I do not really know what you mean, and, half of the time, neither do you.
    Moving into a world in which we communicate vaguely, and in which a large amount of communication is based more upon interpretation upon reception than is based on correct transmission in a commonly-understood language (in which one says one thing with faith that it'll be `correctly' interpreted as something else) leads to the used language becoming redundant in some areas and inadequate in others. In other words, `you-know-what-I-mean syndrome' will lead to an inability to communicate. Theoretically, this is so. In reality, I've already seen this--explanations, to persons who understand terms as meaning something other than what you do, of anything that requires reduction to those terms. Examples: I've tried to explain things like sterography and sterophonics and stereo-othernesses to some, and had great difficulty with this task when they believe that `stereo' means something like `dual-channel'. I forgot the other example that I was going to give, but I might remember, later. Of course, I could explain three-dimensionality without the prefix "stereo", but it can be horribly lengthy and almost painful, on some level. I don't understand the usefulness of circumventing things simultaneously useful, efficient, and built-in.

    Also, I wouldn't say that context-sensitive meanings of linguistic elements are `bad', nor would I negate their usefulnesses, unless the communicators are not fully-understanding of the manners in which contexts influence meaning.

"Don't tell me I'm burning the candle at both ends -- tell me where to get more wax!!"

Working...