SGI's Linux Server
More details of SGI's upcoming Linux server have emerged. According to the article, SGI is already shipping a 4 processor machine, and plans to ship 8-way and 2-way machines at a later time. Both Linux and NT are available pre-installed. The servers look like they're not your mother's typical x86-based server, and come with some interesting hardware features that I didn't even know Linux supported (hot swap drives). Am I not well-informed, or is it possible SGI has some patches (that they're hopefully itching to give us)? Regardless, I'm glad to see a big Unix vendor shipping Linux, and touting it so highly.
[Note that SMP is very different from clustering, so forget all you've heard about Beowulf, Mosix, and such for this discussion.]
Yes, Linux supports SMP. If you have a bunch of user processes that are doing mostly user-space computation, then you should get a mostly linear speedup even with a 2.0 kernel. But if the processes depend on a bunch of kernel services, watch the kernel version carefully.
You see, with SMP the kernel has to be sure that two processors don't try to modify the same data structure at the same time so as to avoid confusion (e.g, deadlock or a crash). The 2.0 kernels supported SMP by putting one big lock on the kernel, so only one process can be doing something in the kernel at a time. One of the major features of 2.2 is that this one big lock was broken up, allowing Linux to scale far better. Unfortunately, there are still many places where the locks need to be broken up further, and work is ongoing.
I believe that it was such a locking issue that caused Linux problems in the Mindcraft benchmarks when multiple network cards were in use.
So the performance of SMP will vary depending on your application and your system. (I've heard, for example, that building the kernel on a 4-way box gave a 3.7 times speedup in one case, which is pretty good.)
Note that many of the commercial Unixes scale better than Linux (i.e., have finer grained locking). I know Solaris has a very good reputation for large numbers of processors. I would suspect that Irix must be good, based on the systems that SGI sells. Linux is getting there. Upto 4 CPUs should be fine for most tasks. I haven't heard reports of Linux with more than 4 SMP CPUs.
The SGI machines offering hot swap isn't that big of a deal. Any many linux systems can support it and any that support a RAID controller that supports it, will support it. (Wow, that was a lousy grammatical construction!)
I meant that there are a bunch of RAID controllers that handle the hot-swapping themselves, including the automagic rebuilding of failed drives in a RAID-5 configuration, for example. I think the Mylex controllers are an example of that.
Two years ago I managed to get Linux running on one of HP's high end (at the time) multiproc machines (it had two Pentium 200's I think). For the life of me I can't remember what drive controller was in it -- it was a repurposed NT server, not something purchased new -- but you could pull drives out just fine...
I'd guess SGI's just using a hardware RAID solution, not a software one, which is the only thing that would need real Linux support.
Wonder what they're doing to make 4-proc efficient? 8-proc?
Chances are, SGI servers running Linux offer hotswap capabilities thru dedicated hardware. But it's also possible to use software only solutions. There are a few requirements :
:-)
- the hardware must handle it, I mean, you must be able to add/remove a drive to a IDE bus/SCSI chain without everything going mad. Most hardware I met doesn't care if you remove a (umount'ed) drive.
- the software must handle it. With IDE drive, there are ways to force Linux to redetect hard disk geometry (with 2.2 kernels, use modules, with 2.0 kernels, there are unofficial kernel patches to do that. check http://www.enix.org/~skaya/ for an ugly patch allowing to do hotswap with your secondary IDE channel with 2.0.36 kernels)
If you want really good performance/reliability, go for RAID-5. Hardware support is not required anymore. Linux supports software RAID-5 since quite a long time (with the appropriate raidtools), but on-the-fly reconstruction is a recent update. And if you want things like LVM ("oh dear, my 80 gigs pool is full, nah, just add another 18 gigs scsi drive, and poof! I have 18 gigs more free"), you will have to play with latest 2.3.* kernels. It's a domain where Linux hasn't reached (yet) the level of others like HP-UX, but it's improving (it's a big work, because there are filesystems consideration underneath - how do I resize an ext2 filesystem, etc)
A last note about SMP Linux boxen : according to Alan Cox if I remember well, Linux scales very well to 2 CPUs, poorly to 4, and not at all to 8. To solve that, give 'em linux coders octo-xeon servers to play with, I promise they will do their best
In order to sell at even close to the same price as the Windows NT version of their server, they would need to use either a -VERY- cheap Unix (and most of those aren't scalable, high-end, or offer high availability), OR one of the *BSD's, which, for all their merits (which are considerable), don't compete with NT in terms of driver support or software availability.
IMHO, SGI's powers-that-be are no idiots. I believe they picked Linux as the optimal OS to sell alongside NT. That doesn't mean "best" at X, Y or Z, it means optimal, when considering ALL the factors SGI would need to take into consideration.
It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
This looks like a nice public relations press piece that SGI was happy to get out. Server? Thier Visual Workstation billed as a server? Sure sounds to me like they don't have X working yet.
We knew it would make a good Linux box last year when we saw the memory I/O, and chipset, and all the fancy hardware. Nothing new there, that happened last year. We knew Linux would run on it when kernel 2.2.0 came out and had Visual Workstation patches in it. Nothing new there, that happened last winter.
So, now, we get "news" that SGI has an Intel Linux Server... If that means they are just now getting it installed right, that's sort of slow progress, considering how long ago the first reports of it running were.
Maybe I am just in a bad mood this morning, but, what this story says to me is "Well, we still haven't got X to work, we promised OpenGL, and we don't even have X working yet... We can't get enough people working on it, it's taking way too long, what can we do? I know, let's get some press on it running Linux again, call it a 'server,' and maybe we'll look like we did something good."
Don't get me wrong, I like that SGI is supporting the Linux community. I just don't see any big reason to get excited by this specific story.