Can My Desktop Make It in the Big Leagues?
bionic-john wonders: "I work in an environment where the dollar is more than almighty (who doesn't?). One of my cost savings plans is to use desktop computers as servers. They cost much less, the parts are readily available and/or interchangeable - as opposed to waiting for overnight proprietary or obscure parts from a vendor, and so on. I understand that servers have redundancy on disk and power - but this can be emulated for a fraction of the cost, as well. Is there a performance difference between a desktop and a server with the same specs? Chipsets are chipsets, motherboards are motherboard, and memory is memory -- is there something special about a server other than looking at the rack of blades and feeling special?"
I have an "obsolete" low-end server that I use for running FreeBSD. It has SMP, ECC RAM, SCSI disks, a boring but very reliable chipset, extensive documentation, diagnostics software, and a high-quality case and power supply. It is also tested and certified to run all of the popular server operating systems. The manufacturer support is excellent. The video card would suck for a modern desktop, but who cares. It never crashes, it just works. If it does break, I can get parts and service.
Mea navis aericumbens anguillis abundat
There are differences but most do not really look.
Most cheap desktop motherboards have built-in video using "shared memory" - this is actaully taken from main memory and is a constant interuption to CPU to do what it needs to be done.
Bandwidth of the PCI bus and ACPI forcing all cards to use the same interupt adding to the overhead of the OS to sort out the conflict and order. This can also lead to lockups or frozen IO - I know using 100M NIC with 100M disk controller.
Multiple processors - and I am not talking about the CPUs! Server level parts most have intellegent controllers (ie their own co-processors) This way the main CPU can get work done and not worry about the reading a disk drive.
Now: Does very server have to built to server standards? NO
A old desktop box makes a great firewall, printer server or even departmental webserver. The key here, if it goes down how fast can it be replaced? With a firewall do not build one. Build two, the second just needs to boot and be plugged in. Same for a printer server or small localized webserver.
But if you are crunching data - a database server for example - buy a real server. I like IBM X440 maxs out at 16 CPU (build sets of 4) data busses 256 bits wide not 32 or 64 of most mother boards. PCI-X slots 64bits wide and hotswapable cards, plus maxs out with these at like 100 of them. Though on VMWare's ESX and make a pile of "little white boxes" all virtually.
You have also noted about RAID cards for IDE. besure they are intellegent (Co-processors) or the CPU is doing all the work.
In the end to me real difference between Desktop / Server Class / Servers is CPU loading. How much of the "housekeeping" the CPU must perform.
On desktop machine, the CPU does it all, It watches even byte the goes into and out of a disk drive or netcard. It gives up time to allow the video to share its memory. This all takes away from the base function of running an app. At one point a few years ago - the average machine was using up to 40% of its processing just to keep the screen updated.
Server Class machines have helping processors to off load the CPU. Adding these into desktop box starts the transformation into a server - except missing true server need hotswapable everything.
I have built machines with this in mind of years - My current home machine is dual PPro 200, with highend scsi and highend video (for the time, PCI Bus) working a large database and useing database design tool - it out preforms the 3Ghz P4 I have office, with IDE and shared video. Parts do make a difference.
True Server machines are built differently, PERIOD. Look at the X440 from IBM, look at the top end machines Dell, HP/Compaq you will see the difference.
Yes, they are sell servers that are really desktops in deguess. Dell 400SC small server is the same case and motherboards as Dell 800 desktop series. The difference ECC memory, and a front cover that covers the 2 USB slot and sound ports in the front. Also you can get this for less than matching desktop configuration. I got one for my wife's desktop.
Lastly clustering...
Clustering to me is the same as raid to disk drives. Lots of cheap servers sharing the load acting as a single larger machine. So all of this may be for naught.
I don't know how the rest of the world does it, and I don't really care.
The mail server where I work used to consist of a 733MHz Celeron, branded E-Machines. It was a disused desktop machine from Joe Random (Joe, of course, has a shiny new Dell on his desk to replace it). Complete with a $3 PCI RTL8139 NIC, it was the epitome of cheap.
If any part failed, including the 175-Watt PSU, the machine would die completely.
It'd been that way since I started with the company.
I mentioned it to a higher-up, who happens to be a rather important salesman of moderate technical inclination, and whose sales depend primarily on reliable email.
He insisted that I do something about it, and so I began doing so.
I fought with the RAID adapter in a Proliant that we had spare before I realized why people generally loathe binary drivers under Linux. I looked for another way to connect the hard drives, but the box only had one(!) real IDE channel, and it was consumed by a pair of CD-ROM drives.
I sat and fathomed that for awhile: Big server box, stout steel constuction, Serverworks chipset, ECC RAM, huge cooling, 64-bit PCI, one P4 Xeon and room for a second. Unsupportable hardware RAID. One bloody IDE channel. No SCSI. The sound of nonsensical madness was deafening.
So I just built one. I had a few priorities, like redundant PSU cooling, Pentium 4 (I'm an AMD fanboy, but thermal throttling is your friend, even if the chip is vastly overpriced), redundant storage, good IO performance, and the ability to replace any (or every) part with something that can be sourced locally within an hour or so. Oh, and it has to be cheap.
I also made a list of non-priorities: Don't need a lot of number-crunching ability, don't need redundant PSUs, don't care about multiple CPUs.
"Who makes server mainboards," I asked myself. I answered myself with "Tyan."
I've never read anything but good stuff about Tyan. So I got one of their P4 boards. Not a "server" board, but one of their lesser (single-CPU) models which were hopefully developed by the same engineers. Two channels of SATA RAID, four DIMM slots, very few other built-in goodies, except for two additional PATA ports.
It supports dual-channel ECC RAM, so I picked up a couple of quarter-gig sticks of that. Could've gotten more, but remember, this is a -budget- server. (It seldom swaps, and when it does, the disks are fast enough to make it a non-issue.)
Also picked up a couple of Western Digital 80GB SATA drives, because Moving Parts Are Important, MMkay?, and at the time they were the only ones still offering a 5-year warranty. This machine is supposed to live longer than that before it is outgrown.
And for good measure, I included a Pioneer DVD-R for offline backups. I hate tapes.
I tossed it all in the cheapest black case I could find (newegg, $24, shipped). I threw away the included PSU and replaced it with a big Antec Truepower.
Killed the hardware RAID in favor of Linux's software RAID1. I have no intentions of ever marrying a computer's software to something as general and failure-prone as a modern motherboard - out-of-the-box RAID is a great way to fuck yourself at disaster-recovery time.
It runs Gentoo, and and filters and tosses mail something like twenty times the rate of the old E-Machines consumerbox (which had buried itself in backlogged mail a few times).
We've got redundancy of cooling and storage, we've got a graceful fail-safe on the CPU fan, and we've got a disaster plan that includes being able to find parts from the mom-and-pop shop down the street, or mounting the SATA drives in that wretched Proliant with a PCI controller, or (at worst) setting up the Proliant's DVD-ROM and one of its 80gig drives as master/slave and restoring from DVD-R.
I'm pleased with it. It was cheap. It went together slicker than greased shit. I don't think it's going to fail anytime soon, but if it does, at least I don't have to worry abou
Kid-proof tablet..