Why Don't Open Source Databases Use GPUs?
An anonymous reader writes "A recent paper from Georgia Tech (abstract, paper itself) describes a system than can run the complete TPC-H benchmark suite on an NVIDIA Titan card, at a 7x speedup over a commercial database running on a 32-core Amazon EC2 node, and a 68x speedup over a single core Xeon. A previous story described an MIT project that achieved similar speedups. There has been a steady trickle of work on GPU-accelerated database systems for several years, but it doesn't seem like any code has made it into Open Source databases like MonetDB, MySQL, CouchDB, etc. Why not? Many queries that I write are simpler than TPC-H, so what's holding them back?"
"The only difference is the video card."
ROFL you may know how to build a gamer rig but you certainly know nothing about servers, to have said that.
You'll use an entirely different class of hardware from the ground up. Different class of motherboard, different class of RAM, at most you *might* use the same box and power supply. You dont need a videocard at all, just a serial port, and these days it's more likely to be a rackmount than a box anyway.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
You obviously have never torn down a server. I've built thousands. Everything from empty 1u cases filled with gaming parts, to 1u to 8u HP, Dell, IBM, Sun and SGI servers.
I've done price and performance comparisons between both. You could say that you can't get as many CPUs or as much memory, but you can. The last place I was at paid over $300K for a Sun machine with 128 cores and 1TB RAM. I priced the same machine, with 128 cores and 1TB RAM for something like $20K, but with faster components made for gaming use. Even in their application, they didn't *need* 128 cores, nor 1TB RAM. 768G of RAM was allocated for a ram drive and other storage that wasn't available to the rest of the system.
I don't build 1u cases with gaming parts any more, but only because of cooling concerns.
Just about every "professional" built server has a video card of some sort. Most are cheap chipsets, as they know they'll run Unix in text mode or Windows in a low resolution video mode.
The different "class" of motherboard is simply a different form factor so you can't swap for another one. i.e., vendor lock-in.
RAM is different. It's claimed they use ECC for the safety of your data. In practice it's so you can't go to the local computer store to buy more. Corps tend to buy from the manufacturer because "that's where we got the server, and it was expensive."
Box? Well, rackmount for racks, desktop for not-racks. I've seen plenty of people ungracefully stack rackmount boxes on the floor of a corner office, and complain when they need to pull out the bottom one. That's not so different than racks. I've seen people rack mount where they put in a shelf, and then put 10 servers on top of it without ever putting in the rail kits. Same nightmare, different environment.
With only a very few exceptions, they're the same chipsets, using the same technologies. Except "servers" are usually a year or 10 behind the gaming systems. You get the cool new features on gaming machines, which eventually get adopted to servers.
Hell, even the hard drives are gaming, or are making their way there. SCSI was the only way to go, even though SATA overtook the performance long ago. Then they started putting 2.5" SAS drives in, which are laptop SATA drives with a bigger pricetag. Some use 3.5" SATA drives that perform well. Plenty still include SCSI drives with slower performance and more heat. Why? Because IT managers only remember that they learned "SCSI is for servers. IDE is for desktops. SATA is just the new IDE"
Whats the difference between a WD Green, Blue, Red, or Black drive? Green are set to spin down to save power. That is adjustable. Red is sold for SAN/NAS use. Black is sold for servers. Red and Black may have better warranties. They *all* use the same platters, head, actuators, motor, and even control board with different settings.
You can scream "BUT THE CACHE!" Ok. But remember, the drive you buy today has more cache than the drive you bought 5 years ago. It's a *lot* cheaper to buy a drive with a bigger cache now, and you can keep upgrading. Upgrading your RAID? Swap out one drive at a time until they all have the bigger cache and faster read times. Go with a "professional" server, you'll have to buy the new platform because the new drives aren't in the supported list for the server you bought last year.
Serious? Seriousness is well above my pay grade.
I will make a correction. 64 cores, 1TB. And since Sun included HT as cores on the box in question, so am I.
SuperMicro X9QR7-TF+ (4x ES-4600, 1TB RAM)
SuperMicro H8QG7+-LN4F (4x Operon 6300, 1TB RAM)
There are others. They're not hard to find.
The rest of the discussion won't be quite as exotic hardware.
Ok, so desktops are worthless for anything that may rely on memory working. I'm glad no accountant ever does work on desktops. Or databases are ever run on desktops. Or developers never use desktops. In any of those circumstances, the memory randomly flipping bits would be horrible failures. Heck, with as much information that goes through your RAM, your machine must have crashed a dozen times while writing that response. I'm very proud of your dedication.
No, I haven't. Here's a couple real things that have happened.
I've stood in a C-level meeting, and apologized that a critical name brand server failed. Their on-site tech showed up in 2 hours, and told us that the part would take 2 days to get. "BUT THE CONTRACT SAYS 4 HOUR RESPONSE!" Ya.. 4 hours for them to come back with something. Not 4 hours to resolve the problem completely. 4 hours frequently turns into days, or worse on holidays.
I've also stood in a C-level meeting, showed the cost effectiveness of *NOT* Sub/IBM/Dell. In some instances where the budget was small, the recommendation was Asus motherboards and Crucial memory and IDE/SATA drives in rackmount 1u's . In higher budget instances, Supermicro Crucial memory and IDE/SATA drives.
The "face the music" meeting is usually "We had a failure that no one noticed. We failed over exactly as planned. The repairs fall within budget. We'll be under budget on repairs again this year."
I also get the luxury of saying "I want to try [some other hardware]" We use it, we don't use it, it doesn't matter because I'm still way under what your favorite vendor would have cost.
Sometimes I was told to send the vendor my buildout list and said "match this, and remember I have the lower price", they couldn't even come close.
With the significant savings, I not only got the servers, but I was given extra servers and a functional budget for spare parts, which *still* came in under the name brand vendor prices. We fail over gracefully from the production machine to the hot spare, and still have more hot spares waiting.
So you can buy one. I can buy three, and (if the employer is good) shared the savings with staff at the end of the year in bonuses.
Now did I say I placed orders from no-name Chinese brands? No. You also haven't checked server memory. Better machines use Crucial. I've seen all kinds of crap shipped with servers directly from the manufacturer. The price for Crucial memory ordered from Crucial.com is less than through the vendor. Hell, unless there's a great sale at BestBuy/TigerDirect/etc, their prices are better.
But hey, you're clearly a fanboy. You're that ass that will scream "I can't work on X, I need Y!" X and Y can be almost anything. I've seen asses like you who won't touch IBM because they love Dell. Interchange IBM, Dell, Sun, SGI, etc, in either X or Y, because no matter how fanboy you are for yours, there's someone else out there with exactly the opposite opinion.
So, what is your beloved that I just insulted so?
Serious? Seriousness is well above my pay grade.