Slashdot Mirror


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

241 comments

  1. Something something online sorting by Anonymous Coward · · Score: 5, Informative

    ...because I/O is the limiting factor of database performance, not compute power?

    1. Re:Something something online sorting by Arker · · Score: 5, Insightful

      Wow, a fp that hit the nail on the head.

      Indeed, database applications tend to bottleneck on I/O, not processor, so most uses would see little gain from this. That's probably the biggest reason no one has bothered to do it.

      Certain uses would probably benefit, but then there are other reasons too. You run databases on machines built for it, not gaming machines, so it's not like they already have this hardware. You would have to buy it and add it as an expense. And GPUs are error prone. Not what you want in most database applications either (although again, there may be niches where this would be ok.)

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    2. Re:Something something online sorting by Runaway1956 · · Score: 4, Insightful

      I'll add that most people who put up the cash for high performing GPU's aren't much interested in actually "computing" with them. They are far more interested in "gaming". They demand video performance, as opposed to crunching database numbers. Those companies that are most likely to pay people for manipulating data bases generally have little interest in top notch video, so they aren't going to pay for hundreds of GPU's.

      --
      "Windows is like the faint smell of piss in a subway: it's there, and there's nothing you can do about it." - Charlie Br
    3. Re:Something something online sorting by houstonbofh · · Score: 5, Insightful

      ... so they aren't going to pay for hundreds of GPU's.

      Especially when they have already blown the budget on fast SSDs that actually make a real difference in real performance, not just synthetic benchmarks.

    4. Re:Something something online sorting by Anonymous Coward · · Score: 0, Informative

      Try getting a top end Radeon card for a reasonable price at the moment.

      They're being bought out by cryptocoin miners (LTC, for example) to the point that there's a supply shortage that's pushed the price way above MSRP.

      GP's point about GPUs being error prone is only partially correct; they're prone to errors if pushed beyond their power or thermal limits, and most DIY machines don't pay enough attention to either. I'm running an old 560ti on a number of BOINC projects, underclocked slightly and well cooled. Still much, much faster than CPU processing (an FX-8350), yet will crunch happily for as long as I leave the machine running and not produce any validation failures.

    5. Re:Something something online sorting by fzammett · · Score: 2

      Very good point, entirely correct. However... for an in-memory database I wonder if there's gains to be had? I'm not sure CPU-memory I/O is much of a bottleneck, though such DBs aren't suitable to every task of course.

      --
      If a pion (n-) collides with a proton in the woods & noone is there to hear it, does lamdba decay into the source pa
    6. Re: Something something online sorting by Anonymous Coward · · Score: 0

      I've seen many databases that are cpu limited. Things like joins and sorts are compute expensive, and can easily become the major bottleneck when most of your hot data fits in memory and you have reasonably fast io for the stuff that doesn't (gigabit connection to fast ssd storage). Io bound dbs usually have low memory, or the storage backend is slow (ebs).

    7. Re:Something something online sorting by Anonymous Coward · · Score: 0

      For Lite coin yes because it was basically designed to work best on a GPU but it is a really small market. For Bitcoin, the one that most people think of, if you are still using GPUs you are losing money unless you are stealing your electricity. The FPGA and ASIC rigs are the only ones doing enough hashes per watt to still make money and the FPGA based ones probably have less than a year of profitable life left in them.

    8. Re:Something something online sorting by ron_ivi · · Score: 4, Interesting

      performance ... put up cash...

      The biggest opportunity for GPUs in Databases isn't for "performance". As others pointed out - for performance it's easier to just throw money at the problem.

      GPU powered databases do show promise for performance/Watt.

      http://hgpu.org/?p=8219

      However, energy efficiency is not enough, energy proportionality is needed. The objective of this work is to create an entire platform that allows execution of GPU operators in an energy proportional DBMS, WattBD, and also a GPU Sort operator to prove that this new platform works. A different approach to integrate the GPU into the database has been used. Existing solutions to this problem aims to optimize specific areas of the DBMS, or provides extensions to the SQL language to specify GPU operation, thus, lacking flexibility to optimize all database operations, or provide transparency of the GPU execution to the user. This framework differs from existing strategies manipulating the creation and insertion of GPU operators directly into the query plan tree, allowing a more flexible and transparent framework to integrate new GPU-enabled operators. Results show that it was possible to easily develop a GPU sort operator with this framework. We believe that this framework will allow a new approach to integrate GPUs into existing databases, and therefore achieve more energy efficient DBMS.

      Also note that you can write PostgreSQL stored procedures in OpenCL - which may be useful if you're doing something CPU intensive like storing images in a database and doing OCR or facial recognition on them: http://wiki.postgresql.org/images/6/65/Pgopencl.pdf

      Introducing PgOpenCL - A New PostgreSQL Procedural Language Unlocking the Power of the GPU

    9. Re:Something something online sorting by CODiNE · · Score: 1

      In other words... For databases that fit in memory GPU makes a lot of sense. For really large data sets the limit is how fast you can get the data off the hard disk.

      But what "io bottleneck" people may be missing is that an io bound server could still benefit from this if the freed up CPU time can be used for other things when it's not shuttling data to and from the GPU. It also could end up saving a lot of energy, and that's money.

      --
      Cwm, fjord-bank glyphs vext quiz
    10. Re:Something something online sorting by K.+S.+Kyosuke · · Score: 1

      Even with in-memory databases, most of the stuff are simple computations with a large amount of data with often random access. GPUs like a lot of computation with streaming data. Also: data copying, virtual memory support. But perhaps Kaveri and its successors will be more useful for that.

      --
      Ezekiel 23:20
    11. Re:Something something online sorting by fatphil · · Score: 5, Informative

      Read the paper - page 7 (which bizarrely doesn't render clearly for me at all, and I can't copy/paste)
      "Scale Factor 1 (SF 1) ... data fits in GPU memory"

      They ran the TPC-H ("H"="Huge") with a dataset that was ABSOLUTELY FUCKING TINY.

      No, I'm not shouting at you, I'm shouting at the fucking bogus pseudo-academics who wanted to bullshit with micro-optimisation rather than making actual advancements in the field of databases.

      Frauds.

      --
      Also FatPhil on SoylentNews, id 863
    12. Re: Something something online sorting by K.+S.+Kyosuke · · Score: 1

      Things like joins and sorts are compute expensive, and can easily become the major bottleneck when most of your hot data fits in memory

      What kinds of joins on data that fits into a computer's operating memory get actually accelerated by something that has its own (seriously limited) physical address space and needs serious data copying to get proper random access to the data in the first place? (Not to mention the effective call latencies.)

      (Oh, BTW, and when did "compute" become a noun? Nouning Latin verbs feels ridiculously retarded.)

      --
      Ezekiel 23:20
    13. Re:Something something online sorting by Anonymous Coward · · Score: 0

      THIS, but also all the work this is capable of is being made useless by most of the NoSQL technologies. Without joins, regex, and all the other capability on the database, you remove the need for a lot of cpu.

      Take a look at the new i2 instances on AWS for instance. These were designed for databases for maximum IOPS. Few (powerful) CPU cores, and buttloads of RAM and fast PCIe SSDs. Maybe graph DB's should jump on the GPU bandwagon so AWS can build SSD instances with GPUs.

    14. Re:Something something online sorting by JWSmythe · · Score: 1

      Well, gaming machines do make great servers. What is a gaming machine? Fast CPU, lots of memory, fast storage. The only difference is the video card. For home built servers in PC cases, I just don't bother with the pesky high end video cards. They run so much cooler and quieter. I'd hate to have a rack of servers at the house. I rather not have a jet engine running in the next room. :)

      --
      Serious? Seriousness is well above my pay grade.
    15. Re:Something something online sorting by marcosdumay · · Score: 1

      Except that GPUs are bad for most of the tasks a database do. Normaly, databases require random memory access (not mapping arrays) and complex selection rules. GPUs are best doing maps over continuous arrays, and with very simple (best if none) conditional cases.

    16. Re:Something something online sorting by Arker · · Score: 1, Troll

      "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.
    17. Re:Something something online sorting by Bengie · · Score: 2

      For databases that fit in memory GPU makes a lot of sense.

      A bit more selective that that. For datasets that fit in memory, where memory patterns are sequential, and the queries have almost no branching. GPUs are very picky.

    18. Re:Something something online sorting by girlintraining · · Score: 4, Insightful

      Especially when they have already blown the budget on fast SSDs that actually make a real difference in real performance, not just synthetic benchmarks.

      Is now a bad time to point out that many researchers have built clusters based out of thousands of GPUs to model the weather, protein folding, and other things? As it turns out, gamers aren't the only ones that buy GPUs. And GPUs aren't functionally all that different from FPGAs, which as I understand Linus went off to Transmeta to build CPUs based off such architecture.

      I'm irritated whenever people here on slashdot can't see past their own personal experience; it's become quite sad. The true innovators don't see something that's already been done and figure out how to do it better. They see the same things as everyone else, but put them together in radically new ways nobody's ever thought of before.

      GPUs for database processing? That's crazy! Which is why it's innovative and will push the limits of informational technology. three hundred quintillion polygasmic retina displays with 99 billion pixels to play Call of Duty 27 will never do that. Most slashdotters that put down an idea like this really have no concept of what geeks and hackers do.

      We push the limits. We fuck with things that ought not to be fucked with. We take the OSI 7 layer model, set it on fire, turn it inside out, and hack out new ways to do do it by breaking every rule we can find. We go where we aren't wanted, aren't expected, and we push every button we can find. We do things precisely because people tell us it's impossible, that it can't or shouldn't be done, and take great pleasure in finding novel new ways to do something even if there's already twenty proven ways to do it.

      And while probably 99 times out of a 100, the experience matters only for the hacker or geek doing it, and is done merely to learn... that glorious one time when something unexpected and interesting happens, that is what all progress on this industry is based on. And people like you who belch about "synthetic benchmarks" and insist nobody would do X because that's just stupid will never understand.

      --
      #fuckbeta #iamslashdot #dicemustdie
    19. Re:Something something online sorting by TrollstonButterbeans · · Score: 0

      Also because most servers aren't plugged into a monitor.

      If every server had to have a monitor, it would take more space and no longer be economical.

      --
      Priest: "Universe from nothing, no laws of physics, sped up time"+ huge discrepancies. Creationism? No. Big Bang Theory
    20. Re:Something something online sorting by gweihir · · Score: 1

      Bah, pesky facts! Don't you know that the latest buzzwords have to be accepted unquestioningly to be truly hip (and utterly incompetent)?

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    21. Re: Something something online sorting by Anonymous Coward · · Score: 0

      A lot of people don't get this. It is worth calling out.

      A database is a development environment. You build the tool you need. There are serious tradeoffs, and yes, IO is the usual limiting factor.

      Packaged tools that include ...and install MySQL are great, but that isn't what most businesses need.

      And here is my opportunity to piss people off about why typed data is good, compute farms are great at being compute farms, but they aren't a database, and Ruby can go die in a fire.

    22. Re:Something something online sorting by TheRaven64 · · Score: 4, Interesting

      No, I'm not shouting at you, I'm shouting at the fucking bogus pseudo-academics who wanted to bullshit with micro-optimisation rather than making actual advancements in the field of databases.

      Any paper that does X on a GPU generally fits into this category. It's not science to run an existing algorithm on an existing Turing-complete processor. At most it's engineering. But it's a fairly easy way to churn out papers. Doing X 'in the cloud' or 'with big data' have a similar strategy. It's usually safe to ignore them.

      --
      I am TheRaven on Soylent News
    23. Re:Something something online sorting by the_B0fh · · Score: 1

      Curious why do you think GPUs are error prone?

    24. Re:Something something online sorting by JWSmythe · · Score: 0, Troll

      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.
    25. Re: Something something online sorting by greenfruitsalad · · Score: 1

      Don't all modern databases run in RAM now? Is I/O therefore still a limiting factor?

    26. Re:Something something online sorting by znrt · · Score: 5, Informative

      that's all nice and good. but what has that to do with "Why Don't Open Source Databases Use GPUs?". because GPUs do provide little benefit to nowadays DBs! why aren't diamond shaped networks of bread toasters used for open source databases? it's just a stupid question, has nothing to do with "innovation being misunderstood". there's nothing to understand here besides the fact that someone apparently was in need to fill his news-roll with random bullshit.

    27. Re:Something something online sorting by ddt · · Score: 1

      Nice catch, Fatphil!

      Also, writing, debugging, and maintaining GPU code is a lot less fun than CPU code. Much open source GPU code do you know of that is still in use after 5 years?

    28. Re:Something something online sorting by emj · · Score: 2

      ECC fails in a nice way, that's why you use them, there are lots of nice graphs wround to show you why. If you want to say that ECC isn't important you need to put up some facts to support that.

      That said ECC is slower, more expensive and makes vendor lock in easier,

    29. Re:Something something online sorting by Arker · · Score: 3, Informative

      I love the ignorance of the mods here, your post isnt interesting, it's boneheadedly stupid.

      "The different "class" of motherboard is simply a different form factor so you can't swap for another one. i.e., vendor lock-in."

      No, it is NOT. Important things like ECC support have to be built into the chipset, so you are using a different chipset. And if you are not getting ripped off many other components are going to be different as well.

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

      The ignorance here is appalling. ECC is for the safety of your data, without it you WILL have regular bit errors. They dont use it on consumer equipment because consumers are so dumb they will buy a cheaper computer without it and think they are getting a better deal, and because it's rationalized that no one (should) use consumer equipment for anything important anyway. Just based on the known incidence of cosmic radiation alone, combined with the small process size and sheer density of modern ram, guarantees you will have regular bit errors and the consequences are essentially 'random' - meaning one time the error could be something you wont even notice, but the next time it could necessitate a full reformat of the machine. Or it might just corrupt an important data file instead. There is no way to predict it.

      If you are doing anything important with the computer this is not acceptable and you should just quit being an idiot and get ECC.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    30. Re:Something something online sorting by VortexCortex · · Score: 2

      You're answering the wrong question.

      The question is Why don't Open Source Databases use the GPU. There are many answers: Supply and Demand is the best one. The other is that collating database rows in a GPU is fine, but you still have the damn bottleneck getting the data out to main system RAM. So, if your use case is a server then you're fucked because GPUs don't have a NIC interface.

      The true answer is: We don't run databases in the GPU because GPUs are stupidly dedicated designs. General Purpose Computing is the trend across all hardware markets -- From Arcades to Consoles to PCs, from Mainframes to Minicomputers to Microcomputers, From PDAs to Smartphones. The trend is to be more general purpose. There are stints where a dedicated design yields performance while we sacrifice freedom and conform to some bullshit API. Witness all the unique looking software rasterization we gave up once 3D GPUs hit the scene. After these stints, the generalization trend takes over yet again. You're seeing that now. Soon the CPU will be a GPU (hell, look at APUs) the lines will blur, the two will merge, and we'll deprecate the term "heterogeneous computing" and just call it compute.

      So, it costs more than any appreciable benefit overall warrants; And if we wait a few more years then the question of whether code runs on GPU or CPU will be moot anyway.

    31. Re:Something something online sorting by fatphil · · Score: 1

      Someone else spotted this before me, it appears; I replied to him below, something-dad or something-lad.

      One of the problems is that things are just a little bit too new to be tested for longevity. Fragmented architectures plus chipset vendors pushing separate languages didn't help.

      To be honest, with modern GPUs, I believe that I was born too early. I was massively getting into optimisation 90s to early 00s. I'm tired of dicking about with all that kind of stuff now. And the kids these days have got it way too easy, with hundreds-to-thousands of cores at their fingertips. Very few things impress me when there are so many freaking gates being used. Moore's Law made things boring.

      So jolly season's greetings and all that, but git orf moi lorn! ;-)

      --
      Also FatPhil on SoylentNews, id 863
    32. Re: Something something online sorting by Oligonicella · · Score: 1

      No. Yes.

    33. Re:Something something online sorting by Anonymous Coward · · Score: 0

      As a memory controller designer, the GP has no idea what he's talking about. We have algorithms that show the probability of a single-bit flip over a certain duration, based on factors such as altitude and temperature. Controllers that support ECC can use this info to guarantee data integrity.

    34. Re:Something something online sorting by Anonymous Coward · · Score: 0

      when was the last time you had a hard fault due to ecc parity error?

    35. Re:Something something online sorting by Anonymous Coward · · Score: 0

      GPU's are VERY functionally different from FPGA's. In fact, I can't think of a similar feature. You can make a FPGA into a GPU...but they are fundamentally very different!

    36. Re:Something something online sorting by Anonymous Coward · · Score: 0

      Slashdot's resident trans troll at +5 as usual!

    37. Re:Something something online sorting by Anonymous Coward · · Score: 1

      For someone whos built thousands of servers, you seem to know very little. ECC has a real benefit, as does Registered...

    38. Re:Something something online sorting by Anonymous Coward · · Score: 0

      > You can make a FPGA into a GPU...

      Yeah, one 10 times slower than the 5 year old mobile phone one, using 10 times as much power.
      So at most in the sense that you can make a space rocket out of wood. Completely useless in any remotely practical sense, but sure you could.

    39. Re:Something something online sorting by theArtificial · · Score: 1

      They dont use it on consumer equipment because consumers are so dumb they will buy a cheaper computer without it and think they are getting a better deal, and because it's rationalized that no one (should) use consumer equipment for anything important anyway.

      You might want to take another look at consumer equipment because nearly all ASUS AMD (look at the AM3+) boards have it. Intel is the one that goes out of their way to disable it.

      --
      Man blir trött av att gå och göra ingenting.
    40. Re:Something something online sorting by Anonymous Coward · · Score: 0

      Standard GPUs do not have ECC memory. In the database market that makes them unreliable and error-prone based on that single fact alone.
      Without even going into the fact that they don't come with errata lists or anything (and I hope you're not going to claim they have any fewer bugs than Intel's CPUs?)

    41. Re:Something something online sorting by BLKMGK · · Score: 1

      Actually as one of those "gamers" I'd love to be using my GPU to speedup real world things like x.264 and ffmpeg but sadly GPU isn't being used there and seems to be actively scorned. A real bummer as I'd love to be putting this bad boy to more use in things I do that tax my heavily overclocked CPU.

      GPU crunch numbers well, look at the differences made in password cracking for instance. In the right situation the GPU isn't used for video at all.
      I know several people who have invested serious cash in GPU that don't even have a graphic interface on the systems they're used on :-)

      --
      Build it, Drive it, Improve it! Hybridz.org
    42. Re:Something something online sorting by Anonymous Coward · · Score: 0

      Just one minor correction:

      > Important things like ECC support have to be built into the chipset

      That is just wrong. Ever since the memory controller moved into the CPU, the CPU is what needs to support it. Chipset is irrelevant.
      Assuming the mainboard manufacturer did not go full-retard and left out some data lanes.
      Which is why if you want cheap ECC you better go AMD since even the lowest-end components support it.

      However ECC is not the only utter nonsense in the previous post. Server components should have features like redundant power supplies, which no gaming PC has.
      They should _not_ include crap like XMP memory profiles. Why? Because the products are usually such utter shit that trying to use that kind of stuff will result in an unstable PC. The majority of "gamer RAM" just _doesn't work correctly_.
      However a server will not have a monitor nearby, so what you need is a management interface. Yes, one that also allows you to do BIOS changes or check power supply and RAM status when the OS no longer boots. Preferably on a separate management network.
      And of course a harddisk any idiot can replace within a few minutes. I.e. disks in slots with a red blinking light next to the one that is broken.
      A lot of applications would of course do just fine with an ordinary desktop PC as server, but certainly not all, and most likely not even most.

    43. Re:Something something online sorting by BLKMGK · · Score: 2

      What does this have to do with a machine having a GPU? You can equip a machine with a GPU and not hook a monitor to it - still works for processing just fine...

      --
      Build it, Drive it, Improve it! Hybridz.org
    44. Re:Something something online sorting by HornWumpus · · Score: 3, Informative

      I used ECC on a workstation once. The bios logged ECC fixes. I had 2 over the life of the machine (3 years).

      ECC doesn't hard fault due to parity error. It has the bits to find and fix any single bit flip. That's the point.

      I don't use ECC anymore. Most good (not server grade) MBs do support it.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    45. Re:Something something online sorting by Anonymous Coward · · Score: 1

      A roadkill skunk that has been sitting around for 3 weeks has fewer bugs than Intel's CPUs.

    46. Re:Something something online sorting by brambus · · Score: 5, Informative

      You obviously have never torn down a server. I've built thousands.

      Bullshit and here's why:

      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.

      This is such a load of crap it's hard to fathom you had anything to do with server procurement at any point at all. First, you can't (even today) build a 128-core/1TB RAM box using gaming components, so you're looking at a cluster of smaller boxes vs one big box. That impacts the software infrastructure in a big way. For example it's a vastly different affair to run one big DB instance vs a cluster of 12 little ones (not to speak of the extra money you'll spend on these extra instances). Clusters massively complicate administration, backup, replication, disaster recovery, etc.

      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.

      Another reason you don't know what you're talking about. ECC absolutely *does* work and bits do flip in memory, which in the absence of ECC can result in data corruption or unplanned machine downtime. I've had the OS detect faulty memory sticks via ECC before.

      Corps tend to buy from the manufacturer because "that's where we got the server, and it was expensive."

      No, they do that because that way you have a valid support contract and can blame problems on a supplier if stuff goes down the drain (as it often does). Obviously you've never had to stand in front of top-brass and try to explain why your multi-million dollar project fell flat on its face because of a few bucks you've decided to save on some el-cheapo memory sticks.

      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.

      It's not exactly the boxes fault when you guys are idiots and stack rack-mount servers.

      With only a very few exceptions, they're the same chipsets, using the same technologies.

      Have you *ever* had a server motherboard in your hands?

      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.

      I give up. How could this shit have been upvoted so much? The performance gap between a 2.5'' server SAS drive vs a 2.5'' laptop SATA drive is *huge*. And that's before we get to the way these things tend to behave in failure scenarios in large-HDD storage arrays (do you even know how a freakin' JBOD works?)

    47. Re:Something something online sorting by Anonymous Coward · · Score: 0

      >Is now a bad time to point out that many researchers have built clusters based out of thousands of GPUs to model the weather, protein folding, and other things? As it turns out, gamers aren't the only ones that buy GPUs.

      All of those things you listed are floating point heavy, which GPUs excel at but aren't usually needed for databases.

      >And GPUs aren't functionally all that different from FPGAs

      I actually laughed out loud at this. Is now a bad time to point out that you're incredibly ignorant of how computers work?

    48. Re:Something something online sorting by mpe · · Score: 0

      What does this have to do with a machine having a GPU? You can equip a machine with a GPU and not hook a monitor to it - still works for processing just fine...

      You can with a physical machine. How do you propose to do so with a Virtual Machine?

    49. Re:Something something online sorting by Anonymous Coward · · Score: 1

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

      I was willing to give this poster the benefit of the doubt up until this point. JWSmythe is a fool and his "advice" is best ignored.

    50. Re:Something something online sorting by Anonymous Coward · · Score: 0

      Agreed. Both Newegg and my local computer store carry DDR3 1600 ECC RAM.

      Shit, I use that stuff in my AMD desktop machine. With memory densities what they are these days, and RAM as cheap as it is, you'd be a fool not to.

    51. Re:Something something online sorting by Anonymous Coward · · Score: 0

      That might be the case with some high end servers.. But most rack servers I have opened actually has standard pc components inside.

    52. Re:Something something online sorting by Anonymous Coward · · Score: 0

      If your gaming rig fails, nothing of value is lost. Just reboot and whoop-de-doo, you got disconnected from your Call of Duty session. The mere fact that you would even consider using Windows is proof you have no idea what you're talking about. If a real server fails, people could lose millions of dollars, except they won't because, unlike your gaming rig, servers have fault tolerance built in. You're the kind of guy who comes up with a brilliant plan to use a drag racing car instead of a jet to deliver mail because it's "just as fast" but "costs less". Tell us how Fedex and UPS are all idiots for trusting air mail because if the car crashes you could replace it and the mail for less than it costs to buy a jet.

    53. Re:Something something online sorting by moozoo · · Score: 1

      GPU have a very wide fast bus to there memory vs CPU's. i.e. 320GB/sec which is something like 10 times that of a CPU What is needed is to connect flash memory directly into a GPU.

    54. Re:Something something online sorting by Anonymous Coward · · Score: 0

      You could use something like http://www.nvidia.com/object/enterprise-virtualization.html

    55. Re:Something something online sorting by Anonymous Coward · · Score: 0

      For those of us getting stuff done, where the GPU program is a means and not the end, it is nice to see papers on what people did for various algorithms. Just copy-pasting the code and fixing the slight syntax changes doesn't get you much speed increase, and sometimes subtle changes in algorithms will make a huge difference in optimization during such a transition. If a paper doesn't add much, then we see that our first pass is about the same speed or faster than their GPU code and move on. But if they did some non-trivial optimization, we might see they arranged things such that it is much faster than ours, or at least did a comparison against several options to help narrow down choices.

    56. Re:Something something online sorting by JWSmythe · · Score: 0, Troll

      a 128-core/1TB RAM box

      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.

      [truncated ECC vendor rant]

      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.

      [truncated buy Sun/IBM/Dell rant]

      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.

      you've decided to save on some el-cheapo memory sticks.

      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.
    57. Re:Something something online sorting by JWSmythe · · Score: 0

      Where did you see me say I used Windows for servers? You're one of those trolls that makes the rest of us *nix people look bad.

      My quote was...

      ... Unix in text mode or Windows in a low resolution video mode ...

      --
      Serious? Seriousness is well above my pay grade.
    58. Re:Something something online sorting by Anonymous Coward · · Score: 0

      > still works for processing just fine...

      So you're calling all of the Bitcoin miners liars. That's really nice of you. Your kind is disgusting. That's also what my asshole boss said when he fired our IT director because he couldn't get our new Gigabyte 7850 cards to work because of a Microsoft policy against allowing us to use the cards without a monitor plugged in. Disallowing use of GPUs without a monitor is a very real thing. We ended-up buying 140 KVM ports in order to be allowed to use our video cards.

      Since that Microsoft-created fiasco, we have since discovered a cheaper solution to this Microsoft problem, dummy plugs:

      http://blog.zorinaq.com/?e=11

      Again, it is disgusting the way you describe so many Bitcoin hobbyists and IT professionals.

    59. Re:Something something online sorting by BLKMGK · · Score: 1

      Hardware passthru, I already do this for RAID cards on my ESX setup. I know others who do it with GPU, no biggie.

      --
      Build it, Drive it, Improve it! Hybridz.org
    60. Re:Something something online sorting by Anonymous Coward · · Score: 0

      not hook a monitor to it

      Ugh. Stop perpetuating that myth. Many cards will not work without a dummy plug, KVM, or an actual monitor plugged in. My brother makes a pretty good living making dummy plugs that he sells to universities for use on their clusters and on Bitcoin forums.

    61. Re:Something something online sorting by TrollstonButterbeans · · Score: 1

      Hint: I was being absurd.

      --
      Priest: "Universe from nothing, no laws of physics, sped up time"+ huge discrepancies. Creationism? No. Big Bang Theory
    62. Re:Something something online sorting by Anonymous Coward · · Score: 0

      I used ECC on a workstation once. The bios logged ECC fixes. I had 2 over the life of the machine (3 years).

      The BIOS most probably only logs ECC errors detected while the BIOS is running. Any half-decent modern operation system overtakes the BIOS early in its boot phase. Did you ever check your system logs for ECC errors? I see a couple a year on a machine with known good RAM, more if the RAM has become faulty.

      Now, those 2 errors you saw. Imagine if one of them was in the RAM copy of the key block for your encrypted file system. Oops, your key is now one bit different and the kernel doesn't know. Too bad for you that all data encrypted with that key from now on is not going to decrypt with the proper key and your file system will be totally fucked as a result. But hey, you know, bit errors are so rare that would never happen.

      We don't use ECC (not just in RAM) because errors are common. We use it because errors are possible and we're covering our ass.

    63. Re:Something something online sorting by LWATCDR · · Score: 2

      Slightly off topic but how about using GPUs for RAIDs?

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    64. Re:Something something online sorting by Sanians · · Score: 1

      when was the last time you had a hard fault due to ecc parity error?

      I've actually had two occasions which I think were the result of a single-bit error in my RAM. (Not exactly what you asked, but still relevant I think.)

      On one occasion I was writing some code and got a compilation error in a file I hadn't even been editing. I opened it up and went to the line of the error and found a single character that was incorrect, and after wondering what the hell had happened, I eventually switched the editor to hex mode and realized that the character differed from the correct character by a single bit. I left it alone for a while, confused as to exactly what the hell had happened, and at first I had suspected a disk error, but it eventually occurred to me that the file was probably being read from cache and so it might well be a memory error. So I did something to use a lot of RAM in order to dump the file from cache, then reloaded it, at which point the error was corrected.

      On the other occasion, a Linux system I'd been using for years without any issues spontaneously decided to hose itself, with the filesystem essentially committing suicide. One minute it was working and then everything just kind of started falling apart and a few minutes later it decided to remount the filesystem read-only. After that I shut it down to take a look at the drive in another machine, where I found the filesystem to be damaged beyond repair. I eventually found a recovery tool someone had made which spent hours scanning the drive trying to find indications of where the files may have been and was able to recover about 80% of them, but the remaining 20% were file names which contained data from some other file, or folders which were restored as ordinary files with some random data in them, or sometimes even symbolic links. Granted, this sounds a lot more like a random fuck-up by the filesystem driver than anything else, but it'd been at least a year since I'd installed the particular version of Linux I was using and it'd always worked fine before that, and it didn't seem to be a hardware issue either as the same hardware has continued to work fine for years since then. Thus, I can only conclude that just the right bit happened to get flipped to cause the filesystem driver to lose its mind, e.g. a flipped bit in its instruction code changed it in such a way that it didn't crash, but it no longer properly manipulated the filesystem data structures either. ...and there may well have been other computer problems I've had in the past which were due to memory errors that I just didn't realize at the time. I used to always consider my computer to be a machine which simply never made mistakes in its calculations, and so when something went wrong it was always the software's fault, but I changed my views after trying to install Gentoo on one particular computer and having the install die with a compilation error. While searching the internet for the cause, I found a forum thread about similar errors which suggested that the problem may be the hardware, and as a simple test, suggested simply running the compile again to verify that the error is identical. So I ran it again, and got a completely different error. Then I tried yet again and got a third completely different error. So I took the machine apart and blew the dust out of the CPU heat sink, and after that it worked just fine. Apparently the Gentoo folks have to deal with a lot of bug reports that are the result of hardware errors, since their many compiles are often the hardest and most sustained work that your average PC ever sees.

      You probably get more hardware errors than you realize. It's just that, given how software tends to crash now and then, it's far easier to assume it was merely the software's fault that it did whatever it did, rather than to consider that maybe your hardware makes some extremely rare errors.

      Being poor, I still have no ECC memory, but I'd love to have some if it weren't so expensive.

    65. Re:Something something online sorting by houstonbofh · · Score: 1

      A standard CPU is better, and you are not limited to dedicated (and occasionally had to find) hardware. Look for threads about ZFS or mraid over hardware raid for a lot of discussion on this.

    66. Re:Something something online sorting by drsmithy · · Score: 1

      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.
      Even old U320 SCSI drives have seek times ca. 2/3 those (and consequently higher IOPS) of the fastest SATA drives.

      Then they started putting 2.5" SAS drives in, which are laptop SATA drives with a bigger pricetag.
      You are utterly clueless.

      You've only got to hold an enterprise SAS drive and a consumer SATA laptop drive in each hand to know they have to be manufactured differently. Then again, you've probably never actually seen an enterprise SAS drive, let alone held one.

      This is before even starting to look at the different specifications - where can I buy a 15k RPM laptop SATA drive ? How am I going to get multiple paths and multiple controllers accessing the disk when SATA doesn't support such a thing ?

      The rest of your post is equally misinformed rubbish. I don't know who you build "servers" for, but I pity them. There's a difference between being able to assemble decent server-grade hardware on a budget that precludes big-name vendors, and not understanding what server-grade hardware (or the philosophy behind it) actually is, and you are clearly the latter.

    67. Re:Something something online sorting by Anonymous Coward · · Score: 0

      We push the limits. We fuck with things that ought not to be fucked with. We take the OSI 7 layer model, set it on fire, turn it inside out, and hack out new ways to do do it by breaking every rule we can find. We go where we aren't wanted, aren't expected, and we push every button we can find. We do things precisely because people tell us it's impossible, that it can't or shouldn't be done, and take great pleasure in finding novel new ways to do something even if there's already twenty proven ways to do it.

      And while probably 99 times out of a 100, the experience matters only for the hacker or geek doing it, and is done merely to learn... that glorious one time when something unexpected and interesting happens, that is what all progress on this industry is based on. And people like you who belch about "synthetic benchmarks" and insist nobody would do X because that's just stupid will never understand.

      Thank you. I don't do much of this sort of thing anymore but there was a time when I tried to look inside every file on my computer, telnet to every host available just to learn everything I could about this wonderful new tool that had come into my grasp. I sometimes miss those days and that guy, but now I tire easily and kind of just want everything to work. Hopefully you have many years of hacking ahead of you, but I suppose it is more dangerous now. No one was ever going to accuse me of being a terrorist just because I peeked at another computer.

    68. Re:Something something online sorting by drsmithy · · Score: 1

      Hardware passthru, I already do this for RAID cards on my ESX setup.
      I'm kind of curious about the use case for this ?

    69. Re:Something something online sorting by BLKMGK · · Score: 1

      On my server? I have 3 SAS cards. Two of them are passed through to a VM along with a USB bridge so that it can see it's license key and run it's NAS software just as if it was on a standalone machine. That software is unRAID and it works well for mass storage that need not be fast and saves power by sleeping drives when not in use. Been using it for years on standalone hardware with a cat and dog collection of drives totaling about 30TB..

      The 3rd SAS card is passed through to another VM running FreeNAS. FreeNAS is higher performance and can do iSCSI, ZFS, and other things. Currently I have a few drives hooked to it providing an NFS mount to the ESXi software for VM storage. It's also SMB shared for easy access.

      The system boots from a USB stick into ESXi and a small SSD provides storage for the PLOP boot disk for unRAID (long story) and for FreeNAS. I also store some ISO on it for easy access. I may setup some additional storage to play with iSCSI on something I can afford to wipe and may do some ZFS on FreeNAS or OpenSolaris sometime soon - still deciding. Currently the ESXi server runs multipe Linux, Turn-key Linux, and one Win7 VM. I've gotten OSX to boot on it but the mods made the whole thing quirky and I gave up on that one.

      Hardware passthru is normally used for things like USB, RAID cards, weird peripherals via ports etc. but some do use video cards for some reason like say a VM for password cracking. I think some people load multiple cards for central video distribution too via various VM but I've never tried it.

      Hope that helps :-)

      --
      Build it, Drive it, Improve it! Hybridz.org
    70. Re:Something something online sorting by Decker-Mage · · Score: 1

      I get your point but mostly due to the fact that I've been a heretic for the last forty-four years. The funny part is, what I was doing then is what everyone else is doing now, just twenty or so years later. The difference being, in one case, having to forklift my big data into the data center. It keeps me amused.

      --
      "[I]t is a wise man who admits the limits of his knowledge or skill, and that pretending either causes harm." --Terry Go
    71. Re:Something something online sorting by Anonymous Coward · · Score: 0

      I am still trying to work this one out. Tested a GreenTree DB which runs Jade ODBC on a new vm guest server with 384GB RAM in a 64GB RAM drive. Showed no signs of improvement. I couldn't believe it. My guess is a limiter on calling vs processing which therefore inhibits IO beyond a certain limiting processing time within the DB itself. GreenTrees answer is to go their cloud service...

    72. Re:Something something online sorting by Decker-Mage · · Score: 1

      Partially true, at best. If you are serious about using GPU's for anything whose erroneous result can kill people, you don't use consumer-grade GPU cards. I don't know what you have but I only use workstation-grade and then I verify the results, just as I would do with anything hazardous. As an engineer, I can't afford those types of mistakes.

      And on the whole database thang? The GPU is chained to a database-eating machine (5.65 GBps SSD array, and yes, that's GigaBytes). Yeah, it can make pretty graphics with the results of a crunching session, but that was not why it was picked. Taking lots of big data and teasing out predictive analytics was the chosen role. 'Sides, I don't twitch right.

      --
      "[I]t is a wise man who admits the limits of his knowledge or skill, and that pretending either causes harm." --Terry Go
    73. Re: Something something online sorting by dwater · · Score: 1

      Perhaps he should have asked the question slightly differently...I seem to recall it being a selling point for big SGI machines that they could potentially hold the entire database in RAM. I suppose it totally depends on how big the database is...looking, it seems SGIs can have up to 64 TB of RAM (though the wording is unclear).

      If the database fits into that amount of RAM, then wouldn't that mean I/O is not a limiting factor?

      I have to wonder what happens when there's an unexpected failure...wouldn't the changes that are still in RAM be lost? Well, I don't know much about this, but these are obvious questions I'd be interested to know...beyond "No. Yes." anyway :)

      In anticipation of someone telling me to look it up, I did and my cursory search seemed to suggest the issues are mostly about cost; so, if I can honestly say the following :

      "My database can happily fit inside 64TB and I have enough money to affort to own/run/maintain an SGI UV2000."

      Wouldn't that then mean I have no I/O issue? Assuming "I/O" means disk I/O, of course.

      Of course, the issue more relevant is how much RAM can a GPU have direct control of? I wouldn't imagine it is anything like 64TB...a quick search suggests 12GB is quit a large number for such a product. I suppose that might cover a certain (but different) portion of the market...the same served by regular desktop PCs, for example.

      Hrm.

      --
      Max.
    74. Re:Something something online sorting by WuphonsReach · · Score: 1

      Yeah, you are simply an uninformed idiot if you believe what you wrote.

      Server motherboards can be purchased in standard sizes, or custom sizes depending on your needs. Some of the cost difference is licensing for the SAS/SCSI chips, the rest of the difference between a server board and a "gaming" motherboard is the quality of the discrete components. You get capacitors that will last 10-15 years, not cheap crappy ones that might blow out in less then 5 years. You get boards capable of dual or quad processors. You get KVM over IPMI and other "lights out" features that let you power-cycle a system or get into the BIOS settings remotely.

      With a consumer level board, you'll be lucky if it still works in 5 years. OTOH, you can buy more and keep spares on the shelf, but you still run the risk of parts with lower quality control causing tolerances to drive out of bounds.

      ECC RAM has been readily available from most stores for close to a decade now. It is no longer a special-order part and in any system over a few GB of RAM, you should strongly consider using it if the motherboard (and CPU) supports it. Heck, it's now barely a 5% or 10% cost increase over non-ECC RAM. The big advantage is that you don't get bitten by flipped bits, which get more and more common as feature size shrinks.

      As for hard drives, if you are not using drives with TLER in a RAID, then you are an idiot. The TLER makes sure that the drive reports failures in a timely manner so that your entire RAID array doesn't grind to a halt for 10-30 seconds. As soon as you get over 6-8 drives in the array, this really starts to matter (you can get away with it in smaller arrays).

      --
      Wolde you bothe eate your cake, and have your cake?
    75. Re:Something something online sorting by Anonymous Coward · · Score: 0

      The GPU's interface to everything else is horribly, stiflingly slow compared to the bandwidth required to feed on the onboard processors. Even pcie 3.0 x16 delivers a piddling 16GBps (in theory) - a Kepler K20x card can touch every byte of its memory 16 times before filling from system memory once. Now consider that a GPU monster-box will most likely have between two and eight K20 cards... And UMA makes it easy to make them chat with each other (no more cudaMemcpyDeviceToDevice) as well as the host.

      So it's not surprising that everything that a GPU can deliver a speedup on will fall into one of two categories: (a) dataset fits in GPU memory (b) dataset is streamable.
       

    76. Re:Something something online sorting by Anonymous Coward · · Score: 0

      ...because I/O is the limiting factor of database performance, not compute power?

      Right. And because GPUs don't virtualise nicely so you have to run on raw hardware (eliminating the point of the comparison to EC2 nodes in the summary somewhat) and scaling by adding cheap CPUs is, easier, cheaper and gives you more room for improvement than scaling by adding specialist GPU hardware that costs $1000 per node. A big, expensive GPU like this may offer 20x improvement over a commodity processor in high-complexity benchmark tests but the real world improvement is likely to be nowhere near as large.

      There are three problems with doing this in the real world:

      * You only get significant improvements in performance like this if your database fits into your GPU memory. This meant they could only run the TPC-H benchmark suite on its lowest size setting, scale factor 1. Move up to the next setting, scale factor 10, and the data is too big to fit into any currently available GPU's memory.

      * Read-write databases need to be stored on permanent storage. Yes, you can mirror the database in RAM, but this cannot be the primary storage space and therefore every update needs to run on your SSDs as well as RAM. This means performance improvements are only seen for the fraction of your actual queries that don't require updates.

      * You don't get to run on readily-available commodity hardware, which is important if you want to either (a) run in the cloud or (b) keep your stock of replacement nodes small.

    77. Re: Something something online sorting by Anonymous Coward · · Score: 0

      (Oh, BTW, and when did "compute" become a noun? Nouning Latin verbs feels ridiculously retarded.)

      The first attestation in the OED is from 1413, although this is for a different sense of the word (at that time it meant a tabulation of the results of a computation that can be used to determine the calendar date from astronomical observations). The first attestation for the same sense ("Reckoning, calculation, computation") is from 1588.

    78. Re:Something something online sorting by Blaskowicz · · Score: 1

      XMP is just some crap you can disable, like SPD auto-configuration (less fancy, earlier version of the same thing) - simply know your memory's specs, use a clock lower than or equal to the one it officially supports, increase the timing cycles by one notch, have 2T command rate and not 1T, even add +0.1 volt if your hardware is a bit crap.. This can turn decade old garbage from unbootable to stable (when you want to use more than one or two sticks). But you need at least a lowest end non-OEM motherboard, where all the settings arey available! It's the pre-built, OEM namebrand consumer stuff that is unfixable lol (e.g. I had to downgrade somebody's computer from 3GB to 2GB, because the BIOS doesn't expose any of this)

      Otherwise I'm sure you're correct that the stuff you describe is helpful.. Blinking red light per HDD slot especially (unless you try to make that system up yourself and the red blink doesn't come up or the wrong disks gets blinking? :d)

      About ECC on AMD consumer/gamer systems, it always gets mentioned but the feature is never advertised in motherboard manuals, BIOSes, support pages etc : what's the compatibility list exactly and how do you know the ECC feature is actually working?
      Else, Intel explicitly supports ECC on Core i3 (explicit non-support on i5, i7, Pentium etc.). Safe bet is maybe an i3 on a "professional" motherboard with a chipset named something like C202or C204 or C2xx.. and there, it's all consumer tech behind the scenes. I think you can even buy a redundant PSU for your beige tower, though it will cost as much as most of the PC's hardware ; serial console can be a management interface if you can boot but I think the "pro" desktop motherboard have actual management features too.

    79. Re:Something something online sorting by Anonymous Coward · · Score: 0

      GPUs for database processing? That's crazy! Which is why it's innovative

      Almost every time, crazy is just crazy, so to use craziness as a supporting argument - as the reason why - is some mighty poor logic. Something might be a good idea *despite* its apparent craziness, but that's an entirely different argument.

    80. Re:Something something online sorting by antsbull · · Score: 0

      Ok, I'll bite with an anecdote.... Our production database has a table with 320 GB of sharemarket pricing data in it, that grows roughly by a gigabyte a month. How would our database, or any other enterprise size database benefit from using GPU's when the problem is the size of the data, not the index performance? Using GPUs for calculations is one thing - using them to work through massive datasets is not in their realm.

    81. Re:Something something online sorting by baffled · · Score: 2

      Using your data, assuming the key block is 512 bytes out of say 8GB RAM, the odds of the key block being corrupted is 1 in 16.78 million. Even if you have 16 bit errors a year, there's a 1 in a million chance of that happening in a year. Now compare that to other risk scenarios, and how much you invest in protecting against those.

    82. Re:Something something online sorting by Blaskowicz · · Score: 1

      Some people simply do it for gaming, you can even have two gaming seats (conceivably more). The feature of using a real vid card in a VM is typically called VGA passthrough, it's more finnicky and pissy than for regular cards or controllers because of the VGA BIOS that needs to be dealt with. It was first done on AMD motherboards (890FX and 9xx chipsets) under Xen 4.x I think, hard to run depending on the motherboard and vid cards ; from what I've heard it's easier with recent server/workstation motherboards and ESXi.

    83. Re: Something something online sorting by antsbull · · Score: 0

      Not an enterprise size database. Even so, having a database in RAM isn't going to help processing it on the Graphics card.

    84. Re:Something something online sorting by r2kordmaa · · Score: 1
      Well yeah, if you need just a cpu, making it on a fpga is not that smart(unless you want to play around with cpu arhidecture). That doesnt mean there are no good reasons to add a cpu into your fpga. For example you can have one half of fpga solving time critical tasks straight in hardware logic(very, very fast) and another half would be a simple cpu that handles tasks that are not that time critical but would be unreasonably complex to solve in hardware logic, for example communications, configuration, etc. You could also have the mcu outside fpga doing much the same tasks, but thats just a compromise between PCB space, component count, fpga internal recources, io resources etc.

      FPGA does not make a very good cpu, but there are plenty of reasons to have a cpu inside FPGA.

    85. Re:Something something online sorting by dbIII · · Score: 1

      It's not a bad time, it's just that different tasks have different bottlenecks. I looked at GPUs for one massively parallel problem that they would seem to be ideal for but sadly for that case the things just do not have the memory for it and the time overheads of feeding them enough to work on outweigh any benefit. For that one clusters of things with a lot of CPU cores and a lot of memory get the job done about a week before the same nodes with GPU cards could do it.
      For other tasks they are perfect.
      So for some things these help us push the limits and for others they are just the wrong tool.

      It's been a few years now so there's bound to be something written as to why they are not being used in these databases. It sounds like an ideal project for a CS student and with all the hype it's got to have been looked into.

    86. Re:Something something online sorting by Anonymous Coward · · Score: 0

      Some companies have way more than one server. And thus a lot more than 8GB RAM in total. So the odds go up.

      A server going down is not a big deal. A server producing incorrect numbers is a big deal. Without ECC it's harder to avoid the latter.

    87. Re:Something something online sorting by mikael · · Score: 1

      Funny thing is, some of those mid 1990's PC accelerator graphics boards that were built from i860's and TMS34020's and megabytes, had their own NIC socket. That way they could avoid the slowdown due to the network stack running on software on the CPU.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    88. Re:Something something online sorting by Anonymous Coward · · Score: 1

      And that 64 core 1TB box you're talking about is a gaming box?

      The motherboards you list look more like server boards than a gaming board.
      http://www.supermicro.com/products/motherboard/xeon/c600/x9qr7-tf_.cfm
      http://www.supermicro.com/Aplus/motherboard/Opteron6000/SR56x0/H8QG7_-LN4F.cfm

      Here's a hint- most gamers don't care about IPMI and KVM features on their gaming rigs. Gamers building gaming rigs are more likely to care about overclocking and "crossfire"/multi-gpu support than IPMI and KVM. So where are the overclocking features?
      Heck one of the boards you listed has only one PCIe slot - how would a gamer put two video cards in?

      So facts are:
      1) Gaming PCs are different from servers. Pointing at a server board and saying it's a gaming board doesn't make you right, just makes you look stupid.
      2) ECC is important if your machine is doing important stuff.

    89. Re:Something something online sorting by LWATCDR · · Score: 1

      Well that is what I was thinking. Using GPUs for the checksums to off load CPUs on softraids. The new Haswell Xeons have GPUs on the die. They do seem to support OpenCL as does the Baytrail Atom. What I do not know is could ZFS or a software RAID benefit from using OpenCL. Many servers come with a GPU even if it is just for set up. Often after the setup the servers run headless so you might as well use the GPU for doing something. Maybe for crypto like Truecrypt, SSH and SSL?

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    90. Re: Something something online sorting by TheLink · · Score: 1

      If the database fits into that amount of RAM, then wouldn't that mean I/O is not a limiting factor?

      Depends on whether you still need the database around if the power ever goes off.

      In some applications the DBs are just read-only or temporary and you copy/build them from permanent storage so it doesn't matter.

      But in many other DB applications you do need to write and it needs to actually be permanently written (within monetary and physical constraints). And it often has to be written when you tell the user it's written. Bad stuff happens if you tell the users/customers "transaction succeeded", delay writing the transactions till later but then the power/battery fails and there's completely no record for thousands of transactions.

      --
    91. Re: Something something online sorting by dwater · · Score: 1

      OK, that's what I was trying to get at with one of my comments.

      However, aren't there 'logs' or something like that, that *are* written straight to disk so as to enable a recovery should there be such a failure? ...or does that not apply. I guess the disk I/O associated with the logs (I forget the correct word) might be a bottleneck.

      --
      Max.
    92. Re: Something something online sorting by dwater · · Score: 1

      "journal" - that's what I meant...similar to some filesystems.

      --
      Max.
    93. Re:Something something online sorting by drsmithy · · Score: 1

      Ah, I see, you're only using them as dumb SAS cards. I was a bit interested to see why you would be doing this if you were actually using them as RAID controllers.

      I do the same thing myself into my FreeBSD fileserver VM with a couple of Dell H310 controllers (reflashed with LSI firmware in IT-mode).

    94. Re:Something something online sorting by HornWumpus · · Score: 1

      No parity is truly insane. Many are running no parity RAM these days.

      But with parity you are only worried about double bit flips. An issue not fully covered, even under ECC.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    95. Re:Something something online sorting by BLKMGK · · Score: 1

      Bingo! They were flashed to be dumb controllers. If they fail I won't have some weird striping and odd weird file system to try and recover. unRAID uses ReiserFS so if need be I can yank a drive and slap it into another machine to recover it. I trust the software RAID like FreeNAS much more so than I do a used SAS card I got off of FleaBay nice and cheap :-) I'll admit I'm interested in higher speed storage and may build something to play with in the near future but my needs aren't so great that it's required. The ESXi server really did help me consolidate things down and get some junk off of my desktop I no longer need to run.

      --
      Build it, Drive it, Improve it! Hybridz.org
    96. Re:Something something online sorting by steviesteveo · · Score: 1

      You just aren't recognising his innovation.

    97. Re:Something something online sorting by steviesteveo · · Score: 1

      Yeah, and no one is saying anything against GPU compute nodes, just not swooning over the bright future of GPU acceleration for the database itself.

    98. Re:Something something online sorting by brambus · · Score: 2

      SuperMicro X9QR7-TF+ (4x ES-4600, 1TB RAM) SuperMicro H8QG7+-LN4F (4x Operon 6300, 1TB RAM)

      You originally wrote:

      I priced the same machine, with 128 cores and 1TB RAM for something like $20K, but with faster components made for gaming use

      These boards are nowhere near "components game for gaming use". Either you knew that, which would make you a liar, or you didn't, which would make you an uneducated amateur. Take your pick.

      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.

      Red herring, ignored.

      I've stood in a C-level meeting...

      Shit happened, you had somebody to blame. Thanks for confirming my point.

      Sub/IBM/Dell

      Strawman, ignored.

      In some instances where the budget was small,

      I was talking about multi-million dollar projects, so you're strawmanning again. Good job.

      Supermicro

      Supermicro doesn't make gaming stuff. They're a serious enterprise-class HW vendor.

      We failed over exactly as planned. The repairs fall within budget.

      Good for you if failure/fail-over/repair is cheap. I wasn't talking about those cases. I was talking about cases where downtime costs many times the pennies you saved in your purchase.

      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.

      Look, you're obviously in a different market than the big-name vendors like Sun/Dell/HP/IBM target. You are also seemingly unaware of the deep discounts they can produce (to the point where they are barely more expensive than your manual Supermicro build is, which, mind you, still isn't "gaming" class hardware you were talking about before). Lastly, if you had been part of a large project, you'd know that software licensing costs usually dwarf the hardware (price out Oracle Enterprise for the rig above and you'll understand why the $200k vs $20k on the hardware was small change).

      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.

      No, you were talking about gaming-class non-ECC memory. You've shifted the goal post since the start quite a bit. First you were badmouthing ECC, now you're talking about buying server-class memory (doesn't matter from whom) for server-class mainboards. Go play that stupid game with somebody else.

    99. Re: Something something online sorting by Anonymous Coward · · Score: 0

      This post is why slashdot used to be fun.

    100. Re:Something something online sorting by hardwarefreak · · Score: 1

      Read the paper - page 7 (which bizarrely doesn't render clearly for me at all, and I can't copy/paste)
      "Scale Factor 1 (SF 1) ... data fits in GPU memory"

      They ran the TPC-H ("H"="Huge") with a dataset that was ABSOLUTELY FUCKING TINY.

      "H" has no definition. The TPC benchmark series started well over a decade ago. "A", and each subsequent benchmark created over the years, was labeled more or less sequentially, with few exceptions. TCP-W is a "web" benchmark. The two most widely used, TPC-C and TPC-H are, respectively, emulating "transaction processing" and "decision support" workloads. The "C" and "H" have no meaning to anyone outside those who created the benchmarks. Best guess for the origin of "H" is that "decision support" is also called "data warehousing". So maybe the "H" stands for "house". Again, there is no official description of what the letters represent.

      With that correction out of the way, I'll point out that nVidia currently offers the Tesla K40 GPU accelerator which has 12GB of RAM. Decision support database systems have been mostly cluster architectures for many years now because they cost less than big monolithic servers and yield superior performance on DSS workloads, at least for problem sets of any size. An 8 node cluster with 12GB Teslas provides 96GB of RAM. If/when APIs are available to allow parallel DSS databses to use the GPUs, such clusters would run circles around traditional CPU based clusters for many DSS workloads whose datasets are not significantly larger than the memory size. And even then it is possible to make more system memory accessible to the GPU.

      These guys have shown significant speedups for DSS workloads. It's probably only a matter of time now before we see database engines supporting GPUs. Prior to this I think most people saw GPUs as floating point only accelerators for HPC. This paper, and those preceding it, demonstrate integer workloads can benefit as well.

    101. Re:Something something online sorting by William-Ely · · Score: 1

      I'm running a Haswell Pentium on a Supermicro C202 based motherboard that requires ECC memory. Non-ECC will not work even though it is a Pentium class CPU. I found this out the hard way.

      --
      Mod me down with all of your hatred, and your journey towards the dark side will be complete!
    102. Re:Something something online sorting by fatphil · · Score: 1

      Thanks for the correction. I did check and realise my error after posting, but felt it unimportant, as the way the benchmarks had appeared, the H on was the one used on the at-the-time huger datasets. As time has progressed, they (TPC) now just say it's for "large" volumes of data, but they do clearly emphasise that the size is relevant. Maybe I picked up the folk meaning from a journo, and didn't bother verifying.

      But anyway, even if they clustered 8 nodes together, which they didn't do, 96GB would still not cut it. The whole point of TPC was for real-world scenarios. These guys are still playing with toys. This is not a breakthrough, this is merely an interesting line of investigation. It might lead to a breakthrough, certainly, but they should only publish results when they're actually playing in the same ball-park, not 3 orders of magnitude away.

      --
      Also FatPhil on SoylentNews, id 863
    103. Re:Something something online sorting by Anonymous Coward · · Score: 0

      The risk of bit flips increases with each process shrink and is linearly proportional to the RAM capacity. How long ago did you have this workstation?

    104. Re:Something something online sorting by hardwarefreak · · Score: 1

      No, the point of the TPC benchmarks is to sell hardware and software. Period. Always has been, always will be. Look at the results. Every system configuration is exact down to the last wire and transistor, all necessary software SKUs, licenses, etc. One can order an identical system directly from the PDF as every part# is there. The TPC organization is funded by fees paid for the test suite, verification of and publication of vendor results. The big vendors spend tens of millions on confgiuration engineering and testing trying to stay at the top of each list.

      You seem to be confused here. The researchers did not publish a TPC-H result. They published a method for running SQL queries on a GPU. The TPC-H benchmark was simply the workload they chose to demonstrate that it not only works, but works pretty well. This is research, not a product launch. They didn't submit their results to TPC. They're not selling a computer system or software. Whether their test rig has the size or throughput of a system configuration published on the TCP website is simply not relevant.

      They proved the concept. Others will pick up the torch just as happened with GPUs in the HPC space. In the not too distant future we'll see commercial DSS systems, from the same vendors on the current lists, with a GPU (or 2 or 4) in each cluster node.

    105. Re:Something something online sorting by afgun · · Score: 1

      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.

      Apparently the purchaser didn't understand your support contract then, because the support tech easily made the commitment. How is that the vendor's fault? It's not... it's the fault of the support purchaser for not understanding what they bought. Higher level contracts (with call-to-repair guarantees) are available; if something's THAT critical, then you should have a fully functional spare or even better, a high-availability solution in addition to your maintenance contract, which it appears you didn't. So it was apparently not that critical...

    106. Re:Something something online sorting by fatphil · · Score: 1

      They did not publish a formal TPC-H result, they simply name-dropped TPC-H. In a way that, as it can't be compared to anything, TPC themselves is "meaningless".

      And the 3 guys with nvidia email addresses on the paper have no interest in how well nvidia cards sell? It is you who seems confused, or at least naive. This was nvidia marketting. The company I just quit from used to do exactly the same - they all do.

      --
      Also FatPhil on SoylentNews, id 863
    107. Re:Something something online sorting by TempestRose · · Score: 1

      No one is saying it's gonna help with 320 GB of raw data. Clearly it will not. Where it might help is with recomputing the 27 different cubes the various business units want. Every day. Open your eyes. No one says this is for everyone. It has targeted uses. 1 use: recomputing compute-heavy cubes. Every Day. With pricing data, I would think your bosses would be sporting particularly large woodies, just dreaming about the realtime info they could be getting, oh, perhaps every hour even? Lots o' opportunity for floating point calcs there, no? Or are they just collecting the data? Hmm, did I just give away a business idea? Screw it. Contact me and throw me .1% when you make it real. Hell , hire me to help you make it real.

    108. Re:Something something online sorting by TempestRose · · Score: 1

      OK, AC or not, this fucking made me laugh my ass off. TYVM...

    109. Re:Something something online sorting by hardwarefreak · · Score: 1

      They did not publish a formal TPC-H result, they simply name-dropped TPC-H. In a way that, as it can't be compared to anything, TPC themselves is "meaningless".

      They used TPC-H because it's a relevant benchmark everyone in DSS is familiar with. It allows for a reference point. "Name dropping"? Please...

      And the 3 guys with nvidia email addresses on the paper have no interest in how well nvidia cards sell?

      You're kidding right? How many such research papers have you read in your life? Is this the first? If they'd have chosen to use AMD hardware instead of nVidia, you'd see AMD engineers at the top of the page. If one embarks on research to enhance the fuel economy of Ford's EcoTech engine, is one going to go it alone or involve Ford engineers who know everything about said engine? This is known as an "academic/industrial partnership". The bulk of all such research today is done in this manner. If you want to read a study without such commercial involvement, read pure research papers on something like particle physics.

      It is you who seems confused, or at least naive. This was nvidia marketting. The company I just quit from used to do exactly the same - they all do.

      I think everyone who has read this exchange knows who is confused and/or naive, and who has an axe to grind for some illogical reason. Take any 4th year or post grad marketing class and tell me where on the ROI list partnering on academic research papers falls. It's not there. Why? Marketing is an overt exercise designed for maximum exposure. A few employees' names on an academic research paper that will be seen by a few hundred people is the ultimate in obscurity.

      If you want to poo-poo something at least have a few facts to back up your arguments. You've stated none in this exchange. I think you should exit this thread at this point. You simply dig yourself a deeper hole with every reply. However it is clear that you are the type who cannot be humbled no matter how many times you're proven wrong. So, please, continue making illogical arguments. Some may find it humorous.

    110. Re:Something something online sorting by fatphil · · Score: 1

      > It allows for a reference point.

      Now reread the paragraph you're responding to. It's hard for you to be more wrong. It's not a reference point, *meaningless*. People who work with databases will never have *any* interest in this toy. Ever. As someone currently looking at petabyte databases, I even laugh at the few-terabyte setups now. A tweak I was looking at this month managed to save a few terabytes in storage for one typical scenario. It's uncertain if that's significant enough to be worth implementing - more research required.

      > tell me where on the ROI list partnering on academic research papers falls. It's not there

      False. That's basically the entire raison d'etre for the creation of the last place where I worked, a supposed "R&D" centre. It's part of what my job was. So I'm speaking from experience of the cutting-edge IT field in 2013. They were happy to throw a good 7 figures in that direction. Feel free to ask them where the ROI was, all I know is that it happens because it happened.

      --
      Also FatPhil on SoylentNews, id 863
    111. Re:Something something online sorting by JWSmythe · · Score: 1

      It's frequently decisions made by non-technical people, but I'm sure you're familiar with that.

      When there's a healthy 5-figure pricetag on a server, and the salesman goes on about how excellent their support contract is, technical people cringe, and executives say "why do we need spares?"

      So, it could be the most critical piece of equipment in your infrastructure, if you don't have the top brass signing off on buying a spare, you don't get one. Or what I've run into too many times is setups predating me, where exactly the scenario above played out, so there is exactly one server. Trying to sell the top brass on buying more falls on deaf ears, when they're trying to figure out who gets the new office furniture and which private jet to charter for the executive retreat.

      It really doesn't matter how much noise IT makes, its the apparent needs that take priority over the theoretical oh-shit moment. Well, until the oh-shit moment happens, and I end up explaining how I've been insisting on improvements for X years. "Please reference my memos and meeting notes over the last two years warning of exactly this situation" doesn't go over as well as you'd think.

      Hell, one place I worked at, we had to cannibalize old servers to assemble almost enough working servers to keep production going. The staff got a new office, all new workstations, new phones, and raises. I got $2,000 for infrastructure even though there was a detailed plan of what was required just to maintain operation safely. Needless to say, the $2k didn't even make a dent in it.

      --
      Serious? Seriousness is well above my pay grade.
    112. Re:Something something online sorting by Anonymous Coward · · Score: 0

      Correct units would be GiB/sec (or GB/sec, if you must).

  2. Cost? Time? Hardware? Skill? by AHuxley · · Score: 4, Interesting

    The people with the skills have day jobs and want to enjoy time off with other projects.
    The people with the skills have no jobs and want to write the code but the hardware is too expensive.

    --
    Domestic spying is now "Benign Information Gathering"
  3. Because SQL is basically dead by Maury+Markowitz · · Score: 2, Insightful

    The R&D effort in the SQL field is roughly zero, so it's not surprising people aren't keeping up with the latest developments in the hardware field.

    It's bad enough that the only standardized access system is ODBC, designed 25 years ago when pipes were short and thin and a WAN was the next building over. If we can't get that problem fixed, what's the hope for integrating new technologies?

    1. Re:Because SQL is basically dead by Anonymous Coward · · Score: 2, Informative

      The R&D effort in the SQL field is roughly zero, so it's not surprising people aren't keeping up with the latest developments in the hardware field.

      Except for the part where errybody's keeping up with the latest developments. They're just actually looking at developments that matter. GPUs... Do not matter. If you want to know more, check the first post.

      Processing power is inconsequential compared to I/O. RAM is pretty straightforward; newer, faster RAM comes out, larger amounts become cheaper, you buy it, you throw it into the mix.

      The cool stuff is happening around SSDs (which are also pretty straight forward), solid state memory devices (think FusionIO-style cards; Violin devices; RAMSANs), and crazy arse storage solutions.

    2. Re:Because SQL is basically dead by houstonbofh · · Score: 2

      Run a big query on your database. Now, while the hard drive light is solid red, look at your CPU load. See how it is not using all the CPU because it is waiting on the hard drive? A GPU will not help that.

    3. Re:Because SQL is basically dead by Anonymous Coward · · Score: 1

      Rubbish. GPUs do not access I/O. DBs that aren't toy systems use a fuckton of storage.

    4. Re:Because SQL is basically dead by Anonymous Coward · · Score: 0

      but io inside the gpu memory is the whole point, not just counting floats.

      a lot of building graphics for your screen is just.. io. heck that's what io basically is..

    5. Re:Because SQL is basically dead by Anonymous Coward · · Score: 0

      No, but a multi channel SSD Raid would.. expensive yes... but certainly possible. then where is your bottleneck.

      Again, the IO from a hard drive being a bottleneck is because of choice[budget] not because of a real technical limitation. The reality is that most systems work 'good enough' and to get open source to work at the same level as say an oracle database you just throw more hardware at it and generally still save money. Because of that building an expensive high end machine to host a database is pointless.

      However on a server where you pay by CPU having a non-CPU extension makes a lot of sense. This would be why propriety systems have GPU extensions and open source systems do not.

      in short - if you need CPU in open source get get another CPU - it's cheap. If you need CPU in a closed source application you get a GPU - it doesn't work as well as a CPU but it adds performance and it doesn't incur more licensing fees.

      Question Answered

    6. Re:Because SQL is basically dead by advocate_one · · Score: 1

      16 gigs of fast RAM as well would be a good boost... but with really big databases, you go parallel... with multiple machines running against small subsets of the data at the same time...

      I'm surprised we haven't seen FPGAs being deployed instead of GPUs...

      --
      Donald 'Duck' Dunn: We had a band powerful enough to turn goat piss into gasoline.
    7. Re:Because SQL is basically dead by Anonymous Coward · · Score: 0

      Parallel, well that depends on the definition and use. I for one would not want to add another IO bottleneck to a 50TB Data Warehouse just because someone thought going parallel is a good idea. I would advise you to check the latest hardware solutions from Oracle, since very large databases systems have: stupid amounts of ram (more than you have on all your HDs), stupid amounts of SSD (for indexes and highly used relations), tons of add-on processor boards, all this sharing a gigantic bus.

    8. Re:Because SQL is basically dead by TheRaven64 · · Score: 2

      16GB of RAM? What is this, 2000? My laptop has 16GB of RAM, the machines in the rack have 256GB, and they're a year old (and due an upgrade). If you're running a database on something with 16GB of RAM, you either don't have much data or you're seriously skimping on hardware.

      --
      I am TheRaven on Soylent News
    9. Re:Because SQL is basically dead by Anonymous Coward · · Score: 0

      I'm not surprised. High I/O FPGA boards with PCIe are far more expensive than GPU boards, and the time to get bespoke HDL developed is also very expensive.

      I have an educational FPGA board and toyed with the idea of writing some heavily-pipelined vhdl for certain data queries / processes I use at work, and feeding in huge streams of data.
      I love the idea but we're a very small company and adding a layer of such complexity increases costs and reduces our "bus factor" too much to make it a permanent fixture. It's much easier and safer to buy more ram and processors.

      Even custom software to handle specific queries can provide a significant speed improvement over general-purpose databases, and is still cheaper and safer than exotic hardware.

      The companies who need quad virtex 7 boards know who they are... :)

    10. Re:Because SQL is basically dead by EvilAlphonso · · Score: 1

      I haven't seen the CPU as the bottleneck on any of the DB servers I have administered in the last 4 years, except on seriously under-spec'd systems. The most CPU intensive DB at work is peaking at 3 cores out of 24, but maxes on IOPS (8GB link to an auto-tiered SAN, 50% SSD disk pool) and RAM (256GB) throughout the entire job.

    11. Re:Because SQL is basically dead by houstonbofh · · Score: 1

      No, but a multi channel SSD Raid would.. expensive yes... but certainly possible. then where is your bottleneck.

      Next would be I/O to the graphics card, as mentioned in the article. But in general, the bus is the next bottleneck.

      However on a server where you pay by CPU having a non-CPU extension makes a lot of sense. This would be why propriety systems have GPU extensions and open source systems do not.

      in short - if you need CPU in open source get get another CPU - it's cheap. If you need CPU in a closed source application you get a GPU - it doesn't work as well as a CPU but it adds performance and it doesn't incur more licensing fees.

      Are you actually using crappy licensing as a reason to use alternative hardware? And when the license is open and they only restriction is technical you can use a cheaper solution, and that is a bad thing?

    12. Re:Because SQL is basically dead by Blaskowicz · · Score: 1

      16GB of RAM is what will be found on the server/compute version of the Radeon R9 290X, around 300GB/s (minus 12.5% in bandwith and capacity for the jury-rigged ECC, I assume). Nvidia sells GPUs with 12GB of memory with similar bandwith right now. I take that the "16 gigs of fast ram" referred to that context.

      It's an order of magnitude faster than CPU memory, bandwith-wise, and that bandwith makes the GPU useful in video games and other stuff.

  4. "Them"? by FaxeTheCat · · Score: 2

    so what's holding them back?

    Wrong question. It is open source. If you need it, you fix it.

    1. Re:"Them"? by houstonbofh · · Score: 1

      so what's holding them back?

      Wrong question. It is open source. If you need it, you fix it.

      No, it is the right question. And the answer is, the people that actually understand these things work also know this will not help anything in real world applications. They are also busy optimizing for additional cheap ram, and the new and fast SSD cards that are almost affordable.

  5. Risk aversion. by Anonymous Coward · · Score: 2, Interesting

    Because a lot of us have personal experience on how "reliable" GPU calculations are.

    A few screen "artifacts" tend to be less painful than db "artifacts". Maybe things have changed. But it's not been that long since nvidia had a huge batch of video cards that were dying in all sorts of ways.

    As for AMD/ATI, I suspect you'd normally use some of their crappy software when doing that GPU processing.

    1. Re:Risk aversion. by Anonymous Coward · · Score: 1

      Business grade GPUs exist, they are not the default, are not cheap and loose some of the speed to error correction. A lot of code already uses APIs like CUDA and OpenCL however that code mostly uses floating point computations which are extreemly optimized and redundand on GPUs, computing pointers and integer operations (likely heavily used by DBs) is something of a lesser priority.

    2. Re:Risk aversion. by Anonymous Coward · · Score: 0

      Why was this stupidity modded up? Compute clusters aren't using the low to mid-range consumer GPUs this post alludes too.

    3. Re:Risk aversion. by Anonymous Coward · · Score: 0

      GPUs for DBs will at most be niche for a long time. Most DB people are more likely to be waiting for SSDs that are more reliable. I bet many have looked at the IOPS and gone "what the heck" and have resigned themselves to replacing SSDs (with SSDs) every 6 months on their RAIDs either due to failures or as a precautionary measure. Many DB admins would put up with worse for 30000 IOPS per drive vs 200 IOPS.

      The other sort of hardware that would help DB folk is probably something that would allow easy fast low latency low overhead locking/synchronizing in a cluster. Might be a pipe-dream but if you can do that it'll be easier to have a big DB on many machines as opposed to many small DBs (shards) on many small machines (which while doable for many scenarios, isn't as nice).

    4. Re:Risk aversion. by Anonymous Coward · · Score: 0

      loose some of the speed to error correction

      What do you mean by some of the speed not being tight. You're not making any sense.

  6. You just answered your own question by vadim_t · · Score: 4, Insightful

    "Many queries that I write are simpler than TPC-H, so what's holding them back?" -- simple queries don't need acceleration.

    A "SELECT * FROM users WHERE user_id = 12", or a "SELECT SUM(price) FROM products" doesn't need a GPU, it's IO bound and would benefit much more from having plenty cache memory, and a SSD. A lot of what things like MySQL get used for is forums and similar, where queries are simple. The current tendency seems to be to use the database as an object store, which results in a lack of gnarly queries that could be optimized.

    I do think such features will eventually make it in, but this isn't going to benefit uses like forums much.

    1. Re:You just answered your own question by tranquilidad · · Score: 4, Insightful

      This...

      If you go beyond the abstract and read the paper you'll notice that they chose a TPC-H scale factor of 1 (1 GB of data) so that the entire dataset would fit in the GPU.

      The question they seem to really be asking is more akin to, "Why don't we make our datasets small enough for complex queries that it can all fit in the storage attached to a processor we like?"

      They continue to answer their own question when discussing results and admit they can't compare costs of "traditional" implementations because those tests were all run with scale of 100 (100 GB of data).

      They say the comparison is difficult against complete systems because of the scaling factor and "...this paper is about the effectiveness of mapping relational queries to utilize the compute throughput [of] GPUs".

      So, it seems to boil down to a test of compute power on data sets small enough to fit in memory rather than an effective test of relational query processing, though they did use relational queries as their base testing model.

    2. Re:You just answered your own question by fahrbot-bot · · Score: 1

      So, it seems to boil down to a test of compute power on data sets small enough to fit in memory rather than an effective test of relational query processing, though they did use relational queries as their base testing model.

      Or... Just because you can do something, doesn't mean you should.

      --
      It must have been something you assimilated. . . .
    3. Re:You just answered your own question by fatphil · · Score: 1

      Exactly!

      "They say the comparison is difficult against complete systems because of the scaling factor[...]"

      The TPC go a little bit further:
      """
      Note 1: The TPC believes that comparisons of TPC-H results measured against different database sizes are misleading and discourages such comparisons. The TPC-H results shown below are grouped by database size to emphasize that only results within each group are comparable.
      """

      Their toy is simply irrelevant in the field of real world databases.

      --
      Also FatPhil on SoylentNews, id 863
    4. Re:You just answered your own question by Anonymous Coward · · Score: 0

      If you go beyond the abstract and read the paper you'll notice that they chose a TPC-H scale factor of 1 (1 GB of data) so that the entire dataset would fit in the GPU.

      Even though it was a small scale factor, they did include CPU->GPU transfer times (the overheads were around 10%, meaning that 90% of the time was spent on actually processing the queries rather than transferring the data)? Why wouldn't this scale to bigger data sets?

    5. Re:You just answered your own question by Anonymous Coward · · Score: 0

      If you go beyond the abstract and read the paper you'll notice that they chose a TPC-H scale factor of 1 (1 GB of data) so that the entire dataset would fit in the GPU.

      This is true, but they also say that they include CPU->GPU transfer times in their benchmarks and that the overheads are about 15% of the total runtime (meaning that 85% of the time is spent on the GPU). Why wouldn't this scale to bigger data sets? Shouldn't the compute requirements of the workload scale faster than the transfer overheads?

    6. Re:You just answered your own question by locopuyo · · Score: 1

      Select * from orders order by amount For huge sorting queries gpu destroys cpu.

    7. Re:You just answered your own question by Anonymous Coward · · Score: 0

      Select * from orders order by amount

      For huge sorting queries gpu destroys cpu.

      alter table orders add index orders_byamount(amount);

      In the real world, database designers know to minimize sorting by adding indices that render it unnecessary. Yes, this slightly slows down update performance, but you know what? Update performance of GPU-based databases sucks so badly that none of the authors of these papers even bother implementing it.

    8. Re:You just answered your own question by locopuyo · · Score: 1

      Why would the database be GPU based? It could easily use both CPU for all the normal stuff and GPU where CPU just doesn't cut it.

  7. Servers by Anonymous Coward · · Score: 0

    Most servers do not have powerful GPUs, and that is where heavy production databases are run.

    1. Re:Servers by fuzzyfuzzyfungus · · Score: 2

      Most servers do not have powerful GPUs, and that is where heavy production databases are run.

      Servers turn over comparatively quickly, though (sure, every shop has ol' reliable trucking away on the 13GB SCSI drive that was pretty cool when it left the factory, doing something obscure but vital; but the population as a whole churns faster than that), and servers with nice chunks of PCIe (typically intended for your zippy network cards or fancy storage HBAs; but they are perfectly normal PCIe slots) aren't at all difficult to find. Nor has (Nvidia in particular, AMD trailing a touch) Team Graphics been shy about pushing server-suitable GPU compute parts.

      It is true that servers today mostly have little to no GPU power; but if the case were made, that would change rather quickly.

    2. Re:Servers by houstonbofh · · Score: 2

      But for that money, more ram or faster drives makes more of a difference...

    3. Re:Servers by PPH · · Score: 1

      IT staff needs GPUs to play Crysis. Your DBMS gets a lower priority.

      --
      Have gnu, will travel.
    4. Re:Servers by fuzzyfuzzyfungus · · Score: 1

      Oh, with the exception of dedicated GPU compute setups, definitely, that's why the servers in use are configured as they are. My point was not that servers should have more GPU power; but that (if a change in software made doing so a good idea) the existing hardware wouldn't provide too much 'inertia' to stop or slow adoption.

      There doesn't seem to be too much interest, on the whole; but if one were interested they could change the composition of their servers in fairly short order; and a broader shift could happen comparatively quickly (again, given suitable software).

  8. Why? by koan · · Score: 1

    Isn't everyone using them? I do 3D and the one drag about 3D is render time, I have a piece of software that uses the GPU and I am able to get a decent render in real time.
    Premiere and AfterFX run much better and quite often real time renders too.
    The way GPU's work seems to be the future, so I am puzzled why it isn't more prevalent, and I'm sure there is some technical reason I'm not aware of... right?

    --
    "If any question why we died, Tell them because our fathers lied."
    1. Re:Why? by laffer1 · · Score: 2

      One problem is OS and toolchain support. You might get something together for Windows, OS X and Linux, but that's where the buck stops.

      The next problem is that standalone compute cards are rather expensive and putting in a high power GPU has considerable power requirements. Then most server racks are full of 1u wonders not designed to get rid of heat or even hold a huge AMD or NVIDIA GPU.

      Open source databases are great, but they're often pushed as a cost savings to companies. To turn around and buy extra hardware to make them faster isn't going to cut it.

      Finally, there's the oddity of programming languages that some databases are written in. The popular SQL databases are in C so that's not a problem. Some of the others are in Java, erlang, or some other crazy language that may or may not have OpenCL or CUDA support.

    2. Re:Why? by Anonymous Coward · · Score: 1

      The subject is databases. You're working in graphics... it seems that graphics processing units are good at... processing graphics. But GPUs are not database processing units.

    3. Re:Why? by koan · · Score: 1

      The cards would come down in price if they became popular, most GPU price points drop rapidly after release (except for the higher end cards), power is a problem, power is always a problem.

      Fix the power problem and you're the richest man/woman in the World.

      For the software side what if a company took the approach of building out the hardware, optimizing an OS, and then writing their apps for that hardware? (like Apple).
      I'm actually asking because it seems like a good idea, who wouldn't want a database 12 times faster?

      --
      "If any question why we died, Tell them because our fathers lied."
    4. Re:Why? by hairyfeet · · Score: 1

      Uhhh...the price drops in CONSUMER GPUs, you know, the thing you play the shooty boomy games on? those are NOT what you use to compute your multimillion dollar DBs on, not unless you have no problem with 1+1 occasionally equaling 4.

      The cards you use for the kind of number crunching in TFA would be your Tesla and FirePro cards and ya know what? The price on those does NOT drop quickly, just the opposite in fact with cards that are a couple of gen behind still fetching high dollar. You really can't compare the two, one has massive economies of scale while the other is a teeny tiny niche.

      --
      ACs don't waste your time replying, your posts are never seen by me.
    5. Re:Why? by countach74 · · Score: 1

      Sorry, had to chime in on your claim that price would come down if they became popular. That is contrary to the Law of Supply and Demand. Top end GPU's are expensive because there is demand for the latest and greatest, which then justifies the cost of making very expensive, cutting-edge cards.

    6. Re:Why? by koan · · Score: 1

      Demand grows price drops.

      What's cheaper a handful of high end GPU's bought in bulk or the standard DB hardware used today? And don't just say one or the other show some proof.

      --
      "If any question why we died, Tell them because our fathers lied."
    7. Re:Why? by koan · · Score: 1

      it used to be the same for CPU's, is it still that way?

      --
      "If any question why we died, Tell them because our fathers lied."
    8. Re:Why? by michaelmalak · · Score: 1

      1+1 occasionally equaling 4

      Are you referring to the lack of ECC RAM on consumer grade GPUs or are you saying you know of FDIV or overclocking style unreliability in the compute engines themselves?

    9. Re:Why? by Anonymous Coward · · Score: 0

      > Sorry, had to chime in on your claim that price would come down if they became popular. That is contrary to the Law of Supply and Demand.

      No it is not. It is called "supply and demand", just looking at "demand" and making conclusions is obviously stupid.
      In some cases, changes in demand will have more significant (and often stepping-like) impact on supply. Thus a rise in demand can cause a rise in supply exceeding the rise in demand, which reduces prices, which the increases demand again and so on. Until you actually hit something that make increasing the supply difficult.

    10. Re:Why? by hairyfeet · · Score: 1

      I'm referring to the fact that you can render the exact same scene with 2 GPUs and there WILL be minor differences, even though we are talking about the exact same frame and the exact same data.

      The reason that is is because not only is there no ECC RAM on the GPU but the chips themselves aren't as rigorously vetted like in the pro chips and even the software and firmware is set up for getting pure FPS over perfect accuracy. There is a reason why the pro cards are so high and its NOT economy of scale, nor is it marketing, its because the ones that end up in the pro boards are so called "golden binned" chips, those that come out as close to absolutely perfect as can be, then the ECC and software simply reinforce accuracy over speed which is the polar opposite of a consumer chip. Its no different than how the top of the line AMD octocore and their bottom of the line hexacore are in reality one and the same chip but in the latter case its had one or more cores (for whatever reason) switched off and simply can't clock as high as a golden binned octocore.

      So its the difference between a top o' the line Core i7 and a Celeron, sure at the "core" (pardon the pun) they look similar, might even be able to do similar jobs in some cases, but one has had a hell of a lot more QA and QC applied and a lot more care in construction. Sure you can mine with a consumer GPU but would you REALLY want to bet your company on the figures computed on consumer GPUs?

      --
      ACs don't waste your time replying, your posts are never seen by me.
    11. Re:Why? by Anonymous Coward · · Score: 0

      I'm referring to the fact that you can render the exact same scene with 2 GPUs and there WILL be minor differences, even though we are talking about the exact same frame and the exact same data.

      And how does that relate to integer math on a GPU? They play a little loose with floating point operations and most games use single precision, but if you get different answers because of floating point rounding issues, you most likely have deeper problems than wondering how much QA went into your processor. If you get significantly different answers with double precision operations on a GPU, either your algorithm is bad and will get different results on different CPUs too, or you have a chaotic system in which case you are asking the wrong questions and shouldn't be looking at individual results.

    12. Re:Why? by Blaskowicz · · Score: 1

      Actually the first gens of Tesla cards (G80, GT200) were über-expensive even though they were not particularly useful, and then the two latter gens (Fermi, Kepler) were like 3x cheaper. Tesla is cheaper than high end Quadro (which is a superset of Tesla), AMD now is competing or intending to compete and Intel will with their next "many-core chip iteration. Geforce Titan (or even the GT640 gddr5) serves as a low entry point, it's the same as Tesla/Quadro minus the ECC (and minus the CAD OpenGL etc. stuff) so it can be used to develop GPGPU stuff, or number crunch if you don't need high integrity (offline 3D rendering, etc.)

  9. They're coming... by Heretic2 · · Score: 3, Informative
  10. What's holding them back? by Culture20 · · Score: 1

    Many queries that you write are simpler than TPC-H. Necessity is the mother of invention.

  11. real world databases are usually not pcu bound. by Anonymous Coward · · Score: 0, Informative

    Databases in the real world are rarely cpu bound (and when I have seen them CPU bound it was when something was going badly wrong) Generally they are data bound and the GPU has several times lower bandwidth than the real cpus so effectively will be even slower, so while the computation on the gpu may be 10x faster...feeding the data in/out is 10x slower meaning it did not do anything for you, except require you a lot of extra coding complication do use it.

    Benchmarks tend not look like real world queries, of often you can do something that helps a benchmark, but does nothing in the real world,.

    Bus installed co processors (pci/pcie/vme) are only useful if you can fit the entire dataset in the co-processors memory, when you have to do large accesses outside of that ram because the data does not fit, then the co-processor usually becomes much slower and all advantages go away. That is why it works for supercomputing...the dataset being worked on is tiny in the cases the gpu works well for.

    1. Re:real world databases are usually not pcu bound. by StripedCow · · Score: 1

      so while the computation on the gpu may be 10x faster...feeding the data in/out is 10x slower meaning it did not do anything for you, except require you a lot of extra coding complication do use it. ...
      Benchmarks tend not look like real world queries, of often you can do something that helps a benchmark, but does nothing in the real world,.

      But what if the benchmark is larger than the memory size of the GPU? I don't know the actual size, but I guess they use at least realistic amounts of data (larger than the memory of the GPU card), so that would prove your theory wrong!

      By the way, there's more to databases than just queries. Skimming through the abstract, I see that they only address speeding up the queries. The commit phase of a database is also interesting, but they don't seem to address it.

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
    2. Re:real world databases are usually not pcu bound. by Anonymous Coward · · Score: 0

      commits are generally io bound to the long term storage device...nothing a GPU can do for you there.

      I had to look it up...tpc-h is decision support...not queries/sorts..so likely it is a tiny dataset that is CPU bound and being processed to make a decision/model so the dataset probably does fit in the GPU's memory and overall this is not useful for the rest of the database load (transactions, commits, sorts, merges).

    3. Re:real world databases are usually not pcu bound. by steviesteveo · · Score: 1

      But what if the benchmark is larger than the memory size of the GPU? I don't know the actual size, but I guess they use at least realistic amounts of data (larger than the memory of the GPU card), so that would prove your theory wrong!

      They didn't (1GB), he's right.

    4. Re:real world databases are usually not pcu bound. by StripedCow · · Score: 1

      (I stand corrected then. Thanks for looking it up.)

      --
      If Pandora's box is destined to be opened, *I* want to be the one to open it.
  12. Why not? by Black+Parrot · · Score: 3, Funny

    It's waiting for you to get on it.

    --
    Sheesh, evil *and* a jerk. -- Jade
  13. Hardware costs are limiting factor by dkf · · Score: 1

    What's holding them back? I'd have thought it was obvious!

    The big issue with GPGPU for DB work is that you have to have the DB entirely in memory or your performance will suck (even SSDs aren't that fast). To get a big database to work in such a scenario, you have to split it into many smaller pieces, but that makes working with these sorts of things expensive even with an open source DB. The paper even says this. That makes this sort of work only really interesting for people with significant budgets, and they can easily use a commercial DB; the additional cost isn't prohibitive in that scenario.

    Without general hardware availability, there's just that not many people pushing to have the feature; OSS thrives on having many people want it and many developers able to work on it.

    --
    "Little does he know, but there is no 'I' in 'Idiot'!"
  14. Improvements have to come a few at a time by leandrod · · Score: 1

    All of these SGBDs are actually toys being sold for more then they are capable of. So developers there have to try to catch up to PostgreSQL before it becomes (even) easier to use and eat their lunch.

    Meanwhile, the issues meriting scarce development and, mainly, review time at PostgreSQL are more interesting than accelerating a few workloads in hardware which is not yet in the servers out there. Things like making PostgreSQL even easier to install, set-up and manage, even more ISO SQL compliant, even more capable, even better than NoSQL at NoSQL loads

    Now, if you can show your GPU aware PostgreSQL extension or modification, and show it is generally useful enough to merit review time for the next release why not?

    --
    Leandro Guimarães Faria Corcete DUTRA
    DA, DBA, SysAdmin, Data Modeller
    GNU Project, Debian GNU/Lin
    1. Re:Improvements have to come a few at a time by cyber-vandal · · Score: 1

      SGBD = DBMS en Anglais ;-)

    2. Re:Improvements have to come a few at a time by leandrod · · Score: 1

      Thank you, even if I fear it is too late to fix.

      While I do speak French too, the mistake is probably from my native (Brazilian) Portuguese.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
    3. Re:Improvements have to come a few at a time by cyber-vandal · · Score: 1

      Sorry French results were the first on Google when I wondered what SGBD meant :-)

    4. Re:Improvements have to come a few at a time by leandrod · · Score: 1

      No prob at all.

      --
      Leandro Guimarães Faria Corcete DUTRA
      DA, DBA, SysAdmin, Data Modeller
      GNU Project, Debian GNU/Lin
  15. It depends by Waffle+Iron · · Score: 5, Funny

    Research shows that there is good news and bad news on this approach.

    The good news: Certain SQL queries can get a massive speedup by using a GPU.

    The bad news: Only a small subset of queries got any benefit. They generally looked like this:


    SELECT pixels FROM characters JOIN polygons JOIN textures
    ON characters.character_id = polygons.character_id
    WHERE characters.name = 'orc-wielding-mace' AND textures.name = 'heavy-leather-armor' AND color_theme = 'green'
    ORDER BY y, x

    1. Re:It depends by Anonymous Coward · · Score: 2, Funny

      ORDER BY z ... sorry

  16. Not true by kervin · · Score: 4, Insightful

    ...because I/O is the limiting factor of database performance, not compute power?

    Just a few projects into Database Performance Optimization would convince you that's not a true statement. IO/Memory/CPU are in fact largely interchangeable resources on a database. And depending on your schema you can just as easily run out of any of these resources equally.

    For instance, I'm currently tuning a SQL Server database that's CPU heavy based on our load projection targets. We could tweak/increase query caching that would cause more resultsets to stay in memory. This would mean that less complex queries would be run, drastically reducing I/O and some CPU resource usage. But then drastically increasing memory usage. This is just a simple example of course to illustrate the point.

    Databases run out of CPU resources all the time. And a CPU advancement would be very well received.

    My guess as to why this hasn't been done is that it would require end-users to start buying/renting/leasing GPU enabled hardware for their Database infrastructure. This would be a huge change from how we do things today and this sector moves very slowly.

    Also we have many fairly old but more important Database advancements which have been around for years and are still almost unusable. If you ever tried to horizontally scale most popular Open-source databases you may know what I'm talking about. Multi-master, or just scaling technology in general, is required by about every growing "IT-dependent" company at some point. But that technology ( though available ) is still "in the dark ages" as far as I'm concerned based on reliability and performance measurements.

    1. Re:Not true by Bengie · · Score: 1

      Rule of thumb, if your dataset can fit in memory, it probably won't benefit from GPUs. Talking about 10TB+ datasets and few long running Data Warehouse style queries, not small OLTP style queries. GPUs take a crap if you have any branching, so all queries used must not have any conditions that can cause different rows to take different branches to be useful, so very basic WHERE statements.

    2. Re:Not true by Anonymous Coward · · Score: 0

      Databases run out of CPU resources all the time. And a CPU advancement would be very well received.

      I'd have to agree that database servers can certainly run out of CPU resources before anything else (it may not be the most common bottleneck, but it happens frequently enough). However, in the cases where I've seen this happen - and where it wasn't caused by badly tuned queries or client code, it was mostly because the server was simply underspecced. I.O.W. there were still valid upgrade paths to expand the CPU power the conventional way. I'm not entirely up to date on latest GPU prices but when they say "top notch" and it's 68 times as fast as a single core, I'm not so sure the GPU is going to be more cost effective than using 8 core CPUs when you want to cram them in server rack space. And what's the calculation on power usage and cooling requirements? Can you even put more than 1 in a pizza box without burning down your data center? Will my hardware provider support emergency replacements for such a setup?

      High single thread performance in a TPC-H record setup is nice, but is it viable in a real world scenario? As long as they don't show that part, it's going to remain in the academic environment, like much they seem to be doing with GPUs these days.

    3. Re:Not true by girlintraining · · Score: 0

      IO/Memory/CPU are in fact largely interchangeable resources on a database.

      I can't believe someone up-modded you for saying such a patently stupid thing. This is like saying the tires and the gas tank on a car are interchangeable. These are separate resources, and any competent network administrator will conduct simulations to find out what the proportions of each will be. And it's different for every project and use scenario.

      Facebook has far different needs for its database than Google does; Even if they are both websites. Google needs to take large amounts of data which is randomly accessed and perform complex queries on it; it is much more cpu-intensive than Facebook, which while its pages are rendered dynamically, can be heavily cached and predictive algorithms will be highly effective -- people don't search on Facebook, they view.

      You're full of shit suggesting that you can make "drastic" tradeoffs here. You might be able to make a non-trivial tradeoff, even a significant one in certain use scenarios -- but to suggest that everything is interchangeable is absurd. There are limits that simply cannot be exceeded no matter how much wishful thinking you want to throw at it.

      --
      #fuckbeta #iamslashdot #dicemustdie
    4. Re: Not true by dgatwood · · Score: 2

      Fully interchangeable, no, but they are somewhat so. It's more like saying that the transmission and engine are interchangeable. In a literal sense, it isn't true—neither can do the other's job—but you can make up for a weak engine by adding more gears.

      --

      Check out my sci-fi/humor trilogy at PatriotsBooks.

    5. Re:Not true by Anonymous Coward · · Score: 0

      > Databases run out of CPU resources all the time

      Yes they do, but not because you need a lot of CPU to get data out of your RDBMS but because either you have no idea what you are doing or becuase RDBMS is limited by some design flaw. For e.g. one can try to use query cache in MySQL to keep results in RAM and will see a CPU load thinking that he has CPU problems but the problem is on retarded design of the query_cache (if you contact mysql support you will be told that there's a simple way to optimize your query cache - TURN IT OFF!!!) that's locking itself up so it's not that you have CPU bound database, the problem is you again have IO bound database where you tried to solve the problem with query cache and failed (cause query cache sucks).

      Moving a whole dataset to ram (ibd buffer pool, or using ndbcluster) will show higher cpu usage but there again you will be blocked not by shear speed of cpu but again on design of semaphores/mutexes so again using a super fast FPU ain't solving nothing, you are wasting time on context switching and copying of data from one segment to another, you ain't number crunching ....

      Now of course you can do face recognition, spatial calculation etc etc on the GPU, but that you might wanna do outside of RDBMS and inside your application

    6. Re:Not true by Anonymous Coward · · Score: 0

      My guess as to why this hasn't been done is that it would require end-users to start buying/renting/leasing GPU enabled hardware for their Database infrastructure. This would be a huge change from how we do things today and this sector moves very slowly.

      My guess as to why this hasn't been done is that in the real world, people who are considering spending $1,000 to improve their database performance tend to either have (1) more data than can fit in the GPU's dedicated memory or (2) a significant proportion of updates in their workload which would require mirroring to a database that isn't running in a GPU's dedicated memory in order to be properly persisted, thus negating the performance benefits for a large proportion of their workload.

  17. there are certainly CPU-bound databases by hedrick · · Score: 1

    I'm responsible for a large university learning management system (Sakai). The daabase is completely CPU limited. I assume that's because the working set of data fits in memory. I would think lots of university and enterprise applications would be similar. Another data point is the experiments done on a no-SQL interface to innodb. That shows very large speedups. Surely some of this is due to the CPU overhead in processing SQL.

    1. Re:there are certainly CPU-bound databases by marcosdumay · · Score: 1

      I assume that's because the working set of data fits in memory.

      As memory access count as CPU time, not I/O, doing any query in a dataset that is in memory will be CPU bound. But that does not mean that you'll get improvements by adding CPU speed.

    2. Re:there are certainly CPU-bound databases by Arker · · Score: 1

      As the other poster pointed out, given that your set fits in memory, it's going to appear to be CPU bound. It still probably is not, however. Memory access is still likely to be the actual bottleneck.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    3. Re:there are certainly CPU-bound databases by Anonymous Coward · · Score: 0

      As the other poster pointed out, given that your set fits in memory, it's going to appear to be CPU bound. It still probably is not, however. Memory access is still likely to be the actual bottleneck.

      Of course, GPUs typically have higher memory bandwidth than CPUs (> 100GB/s for current generation desktop GPUs, versus about 17GB/s for current generation desktop CPUs... or for high end hardware 288GB/s for the device used in this benchmark versus about 80GB/s for current-generation multi-CPU SMP server systems). If memory access rates are your bottleneck, moving to a GPU may actually be the correct thing to do.

  18. postgres can. by jdew · · Score: 1

    Guess nobody ever heard of the pgstrom

    1. Re:postgres can. by Anonymous Coward · · Score: 0

      Yes, some did. Here's a link.

      Brought to us by Kohei Kaigai, a very prolific PostgreSQL hacker indeed.

      More interesting still is the architectural groundwork of PostgreSQL which makes such fancy things feasible (in this case the foreign data wrapper: rather cool).

  19. Most servers do not have GPU's. by Anonymous Coward · · Score: 0

    It is really that simple. The companies that would gain the most from this do not (as a general statement) equip their servers with GPU's. Even if the DB's started supporting it first, giving people a reason to add GPU's into servers, the processing isn't the major bottleneck for DB servers. So there isn't a tremendous value in either adding them into the servers (so they are useful), or in adding code to support the GPU (when there aren't many servers that have them).

    Its a chicken and egg and usefulness problem. ;)

  20. Plenty to do first... by fostware · · Score: 1

    Besides datasets not fitting in to GPGPU memory, and I/O bottlenecks, I'm still seeing plenty of badly written SQL

    A current contract has plenty of SQL work (not for me though), and the bulk of their time is cleaning up data exceptions, badly written report queries, and moving oft-used or large-dataset queries to stored procedures. GPGPU's will hide some of the rot, but if the SQL was written better in the first place, we're able to use parallelism and better use existing commodity hardware in clients virtualised environments.

    I'm not dissing the prospect of GPU acceleration, just the priority TFA gives to it.

    --
    "We know what happens to people who stay in the middle of the road. They get run over." - Aneurin Bevan
    1. Re:Plenty to do first... by Grishnakh · · Score: 1

      This might be a stupid question as I'm not a DB expert, but isn't the problem of badly-written SQL something that could be mitigated by improvements in the SQL parser of a RDMBS? Other programming language compilers are frequently designed to optimize output code despite non-optimal constructs written by programmers. It seems to me that some of the improvements you talk of could be automated, especially moving oft-used queries to stored procedures.

    2. Re:Plenty to do first... by fostware · · Score: 1

      I honestly don't know of any decent AQL optimisers...

      I know MS SQL Management Studio has SQL Profiler, Index Tuning Advisor, and Database Performance Tuning Advisor.
      But there's nothing in Aqua Data Studio that works with PostgreSQL, which means co-workers and I must rely on good looks and mad skillz (I'm only passable on both)

      --
      "We know what happens to people who stay in the middle of the road. They get run over." - Aneurin Bevan
    3. Re:Plenty to do first... by Bengie · · Score: 1

      When your queries start getting into the 10 table joins, the join optimizer starts to attempt to make educated guesses because of the number of possible join arrangements. The metadata used is based on samples of the current data. To mitigate having to keep these metadata perfectly up to date, which would be very expensive and slow, the RDMBS only samples a subset.

      While this works most of the time, there are some cases that don't. I've had quite a few times where I had to force join orders and/or join types to get the query to work correctly. Talking about 1-4 magnitude differences in performance many times. Since I have control over the DB, I can know how the data will relate and can force the DB into certain join orders.

      Some times, breaking the query up and loading the output into temp tables can speed things up. I do not recommend this as "normal", but some cases warrant it.

    4. Re:Plenty to do first... by Anonymous Coward · · Score: 0

      I know MS SQL Management Studio has SQL Profiler, Index Tuning Advisor, and Database Performance Tuning Advisor.

      These are all just tools to aid a skilled person in optimizing. They are comparable to tools offered by companies like Embarcadero, Quest, Toad (which generally work on any major SQL database system), but integrated into the whole development&management environment. MS takes care of its developers when it comes to that stuff. But in the end, they don't do any optimization for you, they just point out where the resources go, and where optimization is likely to have the biggest effect.

      The only truly optimizing part in a RDBMS is the query optimizer, which is present in every big SQL database system, be it Oracle, MS or IBM. This is a fairly clever optimizing engine which tries to ensure the query is executed in the most efficient manner, no matter how it is written, by examining available indexes, rowcounts, and statistics the database engine keeps on column values. These optimizers are pretty much as clever as they are ever going to be, you won't find much improvements there, things like twiddling with the caching of the optimized query plans will only give you small improvements, not breakthroughs.

      I tend to think that if there are going to be large improvements in SQL databases, and probably more general in systems dealing with relational data sets, it will be in the storage engine. It's possible I'm just thinking that because it's the part of database systems I know least about. It is what the noSQL guys are trying to do though, they're basically highly optimizing the storage and retrieval process by yanking out the relational part. This leaves the burden of data stewardship to the user (coder). It essentially 'optimizes' the query optimization process by forcing the coder to implement it himself and thus hopefully optimizing it for the task at hand, which should make it at least as fast as any generic solution. In practice, (enterprise) coders don't work that way. They want to compartmentialize that part, put it in a library so that nobody can do unexpected things that may bring the system down, and consequentially you end up with a query optimizer that is written by people who really weren't trained for that. But who knows, at least it opens up the option for clever coders to rewrite the query optimization engines, an option you won't be getting from any of the big players.

    5. Re:Plenty to do first... by Anonymous Coward · · Score: 0

      It seems to me that some of the improvements you talk of could be automated, especially moving oft-used queries to stored procedures.

      Coming from a MS SQL Server background, this is a process that has already happened, and it has gone in 2 directions. On the one hand, instead of caching complete batches/stored procedures as one script, the caching has moved to work on statement level. On the other hand, parameterization of queries is (or can be) done automatically, meaning that literal values in the query are replaced by parameter placeholders before the query is hashed and a cache search is done. The result of this is that many of the disadvantages of ad-hoc queries compared to stored procedures have disappeared. I'm not 100% sure of the exact versions but I think statement level caching was introduced in 2005 and the option for forced parameterization in 2008. I assume Microsoft's competitors have made similar steps, if not long before them then surely short after, as it has some very clear advantages.

    6. Re:Plenty to do first... by Grishnakh · · Score: 1

      See, (again I'm speaking from a position of relative ignorance here) it seems like the RDMBS should be intelligent enough to figure this stuff out automatically, instead of requiring an in-house expert. It should be adaptive and learn from the current usage patterns, in relation to the data it stores. So if, for instance, breaking the query up and using temp tables speeds things up, the DB should figure this out and do it automatically. It wouldn't work for one-time queries, but if the same kind of queries are being done over and over, it should recognize the common queries, and behind-the-scenes look for ways of speeding up these queries, so that when they're done in the future, it can apply these improved methods and deliver much faster results.

    7. Re:Plenty to do first... by Bengie · · Score: 1

      Many of these optimizations that are done "manually" can be done because I know certain things that the RDMBS does not know about the usage case. It can guess about things and use current meta data, but those guesses are not always correct.

      Lets make an example. Say table A is a small table with a relation to table B, and table B is several magnitudes larger than A. Now say table B has a relation to table C, but table C is only a few factors larger than B.

      Lets assume there is also a reverse, where table D is a few factors small than table C, and table E is several magnitudes smaller than table D. Say I have a join that returns a large data set and I need to filer on tables A and E. It is hard for the optimizer to know about the logical relations between these tables and may join A->B->C->D->E or the reverse, E->D->C->B->A. The problem that arises is the set of ABC is relatively small and the same for EDC, but the set of ABCD is HUGE and so is EDCB.

      One way around this is to manually join ABC with DE or EDC with AB. It would be hard for the optimizer to figure this out. The DB probably could have had a better design, but that's what I was given.

      This is what happens when someone designs a database that is technically properly normalized, but does not play well with actual usage. In their normal use cases, they're just seeking, so it works fine, but when I have to do large joins with few seeks and mostly merge joins, then it's crazy slow. This is why designers need to understand how their stuff is actually used. Being technically correct doesn't mean it's a good design.

  21. Nope by Anonymous Coward · · Score: 0

    You mean you don't understand what a compute cluster IS.

    1. Re:Nope by Anonymous Coward · · Score: 0

      In what way? GPU compute clusters use things like FirePros or Quadros/Teslas. Not toy, low-end consumer shit.

    2. Re:Nope by Blaskowicz · · Score: 1

      It IS consumer shit, but versions where you can enable ECC and the clock/voltage profiles are toned down. BTW the ECC is not available on midrange FirePro and Quadro, or on older generations.

  22. Wrong by Anonymous Coward · · Score: 0

    If you need more computing power, you're doing it wrong.

  23. Postgres by slackergod · · Score: 2

    Looks like exactly what PostgreSQL's PGStrom project is trying to acheive.

  24. PGStrom by Anonymous Coward · · Score: 0

    In PostgreSQL we have a project called PGStrom http://wiki.postgresql.org/wiki/PGStrom

  25. Let's see... by Anonymous Coward · · Score: 0

    ...maybe it has something to do with the fact that it's called a Graphics Processing Unit? Why the fuck are we using them as CPUs?

    1. Re:Let's see... by mc6809e · · Score: 1

      ...maybe it has something to do with the fact that it's called a Graphics Processing Unit? Why the fuck are we using them as CPUs?

      We use them as CPUs because we don't suffer from that cognitive bias known as functional fixedness.

  26. Conspicuous omission - PostgreSQL by bill_mcgonigle · · Score: 1

    it doesn't seem like any code has made it into Open Source databases like MonetDB, MySQL, CouchDB, etc.

    Lemme guess, MySQL fanatic?

    You can already go download:

        https://wiki.postgresql.org/wiki/PGStrom

    if it fits your problem domain and PostGIS has some hackers adding GPU support:

        http://data-informed.com/fast-database-emerges-from-mit-class-gpus-and-students-invention/

    Why not the others? Perhaps because PostgreSQL makes developing extensions easier - it's got the largest extension ecosystem, so I'm just presuming there. If it turns out well in Pg-land, the others will naturally adopt it.

    So the answer to the story title is "they do." The next question would be, "why isn't it widely deployed", and the answer would be, "it's not done yet." Yadda, yadda, yadda, patches welcome. If the whole summary is just a way to try to turn "hey this is neat" (it is) into an ill-founded complaint story, then write a better story next time. It's neat stuff, no need to whine.

    --
    My God, it's Full of Source!
    OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
  27. true. large, busy Wordpress CPU bound by raymorris · · Score: 1

    Indeed. We have a large WordPress based site and it is bound by database CPU despite the fairly powerful CPU it uses. It should scale to many cores, so I'm thinking of trying a pair of the 8 core AMD processors. Intel is faster PER CORE, but an AMD rig could have 16 cores.

    1. Re:true. large, busy Wordpress CPU bound by Anonymous Coward · · Score: 0

      No, they don't. AMD's modules aren't full cores, just like an Intel quadcore doesn't become an octocore just because you slap HyperThreading on it.

  28. GPU-CPU link is slow -- AMD HSA will help by Anonymous Coward · · Score: 0

    I think the problem is that copying data from the GPU to the CPU is too slow to work on all queries and would be hard to model into a query optimizer. When AMD's Kaveri processor are released in a few weeks, I think several DB's will add patches to to improve DB performance. The 7X improvements are for queries where the entire DB is stored in GPU memory.

  29. GPU not 7 times faster than 32 CPU cores by loufoque · · Score: 2

    A GPU, even a GTX Titan, simply isn't 7 times faster than a modern 32-core x86 CPU in real life. Most of the gain probably comes from just general optimization that could have been done on the CPU too.

    1. Re:GPU not 7 times faster than 32 CPU cores by Anonymous Coward · · Score: 0

      A high end GPU (e.g. K20x) now has 2880 compute cores and 250GBps of memory bandwidth. Are you sure that a 90-core GPU (which would now live in the $15 bargain bin) has less than 7x the usable processing power of a single-core CPU?

    2. Re:GPU not 7 times faster than 32 CPU cores by dkf · · Score: 1

      Yes, because a general CPU can handle much more complex code efficiently than a GPU can. Using a GPU well requires writing code in a form that is suitable for it; this works well for some algorithms, others can be twisted to work that way, and yet others simply will never be a good fit.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    3. Re:GPU not 7 times faster than 32 CPU cores by godrik · · Score: 1

      I did not look at the actual numbers claimed nor what they are. But a factor of 7 between a GPU and a 32 core intel system is not impossible. My BS alarm trip around a factor of 20 for a 2 processor system.

      If you look at state of the art nvidia GPU, you pick a tesla K10, ( http://www.nvidia.com/object/tesla-servers.html ). You get about 4T.5flop/s single precision of performance and a bandwidth of 320GB/s. The flop is realistic for compute intensive (read dense mat mul) and the bandwidth is never reached. Probably 250GB/s is more reasonnable.

      On the CPU side, if you peak a Xeon E5 such as this one ( http://ark.intel.com/products/64595/ ), you need 4 of them to get to 32 cores. you get 32core*2.6Ghz*8floatpersimd = 665Gflop/s which is actually realistic for dense kernel such as matmul. and 4*50GB/s bandwidth. But in practice you difficulty reach 30GB/s per processor so 120GB/s aggregated.

      So the GPU is about 7.5 times faster floating point wise and 2 times faster bandwidth wise. but here we are talking peak, and practical performance varies a lot from application to application and depending if you can use your architecture properly. But overall for some well chosen kernel a factor of 10 still seems not too unreasonnable.

    4. Re: GPU not 7 times faster than 32 CPU cores by loufoque · · Score: 1

      Extracting the peak performance of a GPU is often very difficult, while it's reasonably straightforward to get close on the CPU.
      In practice, I personally often see CPUs starting to beat GPUs at around 32 cores for real applications, but that's with a GPU 3 to 4 times less powerful than above.

    5. Re: GPU not 7 times faster than 32 CPU cores by godrik · · Score: 1

      As i said it really depends on application. Dense compute intensive kernel (typically matmul but any O(n^3) on O(n^2) data typically does it) will reach 80% of peak flop on both architectures. After that the situation is really complication. I have been looking at sparse linear algebra kernel (spmv or graph traversal) and these kernel are quite catastrophic for both cpu and gpu. Most of the time they are memory bound sometimes by latency. And here most conventional insight can be discarded. Depending on the shape of the matrix, the performance of the gpu can be horrible or very good.
      People love to talk "in real application" but that is mostly meaningless. In which real application? Weather forecasting can certainly exploit gpu close to peak performance. Text compression, probably not so well. In the field of relational database, it certainly heavily depend on the query. Though a factor of 7 seems a lot in that case.

    6. Re: GPU not 7 times faster than 32 CPU cores by loufoque · · Score: 1

      Trivial linear algebra kernels, even sparse ones, are not real applications. Sparse linear algebra should be interesting to do on the GPU, since you don't suffer from the lack of gather instruction and you have no cache. Apart from that, FLOPS is not a good unit really, since for non-trivial algorithms the number and types of the operations being done are non trivial, you might have dependencies stalling the pipeline, you might need to spill and thus depend more on local memory... What's more interesting is finding how many cycles are required for each kernel.
      Real applications are things like physics simulation, computer vision, quantitative finance, or audio/video transcoding. They're not as simple to optimize as a simple BLAS routine.

    7. Re: GPU not 7 times faster than 32 CPU cores by godrik · · Score: 1

      There is no good unit. It all depends on your application. For some application FLOPS is what matter. For some application bandwidth is what matters. For some application size of the memory is what matters. There is no simple performance metric that account for every single application.

      I don't know how familiar you are with the computations you are mentionning. But large scale scientific (read physics/engineering) applications are essentially composed of BLAS routines. I have been working with physicist where 50% of the time of their application was eigensolving a large sparse matrix (where the other 50% is building that sparse matrix). Or with nuclear engineers where 80% of the time of their application was spent solving dense linear systems. If BLAS routines (or blas like routine) are so popular it is precisely because they are a significant part of some scientific applications.

      FLOPS is a good measure of performance for SOME applications which are compute bound. For instance many combinatorial optimization algortihm rely heavily on solving dense linear systems. For these applications FLOPS is the meaningful performance metric. That is why top-500 uses linpack as its benchmark because it is meaningful for many applications. Currently the top-500 benchmark is being reassessed to take more sparsity in and the new version should include conjugate gradient algorithm on stencils. Because it is more representative of current scientific application (solving heat equation on 3D objects)

      I have also been working in graph analytics and here we measure more things like edge per second (for instance the graph500 benchmark does that). Here it is meaningful because most of these application boil down to graph traversals. But that metric is quite controversial since the performance you get depends highly on the structure of the graph/matrix. And you need an instance benchmark that represents your application target. For instance, graphs of roads get typically terrible performance on the GPU because they have high diameter and little parallelism can be exposed and CPU typically get better performance there. On social networks, the diameter of the graph is much smaller, there is more parallelism so GPU can be utilize closer to its peak performance.

      tl;dr, there is no one metric that represent "real applications". Each application has different requirements. And each application needs to be investigated separately. FLOP is meaningful for many "real applications".

  30. Use SQL Server by Anonymous Coward · · Score: 0

    Don't use open source db. Use SQL Server for security and speed.

    1. Re:Use SQL Server by Maow · · Score: 1

      Don't use open source db. Use SQL Server for security and speed.

      I agree, simply because I'm paid 50 cents to post this.

      How much were you paid?

  31. does not calculate in real life by DomasMituzas · · Score: 1

    putting MonetDB, CouchDB and MySQL in single line already shows seriousness of the question. First of all, TPC-H is decision support (ad-hoc, analytic) workload, and putting all data into memory needs comparison with in-memory ad-hoc platforms like MemSQL where the difference might not be as pronounced. Also, it is easy to have hundreds of gigs of RAM for CPU driven systems, whereas GPU memory is still tiny. Yes, doing complex window functions on streaming data may seem fine, but anything requiring larger arenas of random data access would fall of the cliff. For all the people talking about speeding your Wordpress, you need to look at OLTP or even more readonly small data benchmarks (TPC-C is already too complex). Database that is efficient at transactional workload has too much overhead for analytical processing. Then there are all the datacenter considerations - getting rid of heat once you have thousands of GPUs around is no longer a trivial task, and may involve oil immersion or water cooling. Yes, sorting a dataset can be faster, but assembling it from all the I/O devices and memory is a task that is the major expense. Thats why multithreading works - there are lots of waits for memory already, making them even longer would be difficult. The I/O we talk about is not just reading from disk or disks or ssds, it is also about getting into the chip, and bandwidth there is still constrained. And yes, CPU can get quite busy in database server, for all the network, storage, compression, page and row mangling code has to run somewhere - sizing hardware for large scale databases is a tough balancing act. But very little of that can work on GPU in online world. Nice research though :)

  32. not much math by Anonymous Coward · · Score: 0

    From my experience: I don't think database programs do much mathematical formulas or computations that would benefit from a graphics processing or even a floating processing unit.

    A spreadsheet, on the other hand, might be able to take advantage of a GPU.

    I should move my personal databases (OpenOffice.org base, Oracle Express) to an SSD drive. I can't afford an SSD yet. Progsql MySQL won't run properly on my Windows XP box for some odd reason.

  33. The economics are wonderful by Groo+Wanderer · · Score: 2

    Gee, a $1000 GPU that runs 7x as fast a 1/8th of an $1500 CPU. It woud be good idea if you didn't need that CPU to run it, but just barely so. If you cheap out on the CPU and only spend ~$750 on it, assuminng there is no slowdown on the GPU because of it, then the economics break. And people wonder why GPU compute on databases isn't catching on.

    Then there is the power use aka TCO/running costs to think about. And everything mentioned above. And.... This study has all he hallmarks of an Nvidia research project who's targets are financial analysts rather than potential customers. The science is fine but that is not the intent.

                -Charlie

    1. Re:The economics are wonderful by Anonymous Coward · · Score: 0

      Assuming perfect scalability of the problem, then then is the (performance) portability. An open source project which requires a $20k development environment to get things running comfortably is not very feasible.

  34. Intel won't allow it by Anonymous Coward · · Score: 0

    GPU instruction sets change all the time. Intel needs to make money from compatibility with an obsolete 70's stopgap embedded architecture that was already outdated when they designed it. If it can't boot DOS 1.0, Intel won't make it.

  35. Because the article is from "Feberuary 2014" by Anonymous Coward · · Score: 0

    To recent for OS to respond to this new technological development.

  36. Interesting but flawed paper by sloth+jr · · Score: 1

    This is clearly the question that corporate co-authors Nvidia and Logicblox hoped you would ask.

    The paper seems to represent more of an evolutionary rather than revolutionary approach, but suffers from some unfortunate hand-waving, particularly in their attempt to negate the real cost of memory->PCIe transfers (to their credit, at least they call out that latency), their unwillingness to perform comparisons on like-to-like base hardware, and their rather odd choice of front-end environment. Coupled with their odd price-performance metric, I suspect that Nvidia marketing got way up in Gatech's business on this. My suspicion is that there are real use cases where SIMD processing is going to substantially speedup relational database performance on easily partitioned datasets, but as more vectorization effort is placed on main CPU, the advantages of kicking off to coprocessor will eventually go the way of the 387.

  37. Very slow CPU by Anonymous Coward · · Score: 0

    Running the same test on one thread of my desktop CPU with mysql and innodb completes in 75 secs while the article posts a result of 359 secs a difference of roughly 5 times. So there you have it it's simply not worth the effort or cost to optimise for gpu architecture it's easier to just optimise for CPU architectures alone. Plus it works on 100Gb databases 2.

  38. That's quite simple... by Anonymous Coward · · Score: 0

    Open sores developers are followers, not leaders.

  39. ARM64 in the data centre? by ChunderDownunder · · Score: 1

    Typical reponses above:
    (a) DB operations aren't CPU intensive
    (b) Servers don't come with dedicated graphics cards of any note
    (c) Loading each server with a AMD or Nvidia card would increase power usage

    So in summary, certain operations may benefit using GPUs but there's not a cost-effective solution to warrant such experimentation.

    I'd be surprised ARM if haven't sponsored cloud research into OpenCL on the Mali GPUs.

  40. Older doesn't mean one has to be mellower by Taco+Cowboy · · Score: 2

    I don't do much of this sort of thing anymore but there was a time when I tried to look inside every file on my computer, telnet to every host available just to learn everything I could about this wonderful new tool that had come into my grasp. I sometimes miss those days and that guy, but now I tire easily and kind of just want everything to work.

    I do feel what you are feeling.

    As we get older we get more easily tired. But that doesn't mean I will rest more just because I get tired.

    On the contrary - I push myself harder simply because I get more easily tired.

    Only by doing so I get things to even out - maybe I am not as fast and as sharp, in both physical sense and in mental state, but as I push myself harder, I will do more in the same 24 hours allocated to me every single day.

    Why should I let the young uns having all the fun ?

    Why should I let my scopes be idle just because I tell myself "oh, I'm tired now, I can test that thing tomorrow" ?

    If I need to find out something, I don't waste time debating with myself whether I should do that thing or not - I just go ahead and do it.

    That's how I live my life, anyway.

    --
    Muchas Gracias, Señor Edward Snowden !
  41. Lol do you really want your database to overheat ? by Anonymous Coward · · Score: 0

    Well do ya punk ? :)

  42. AlenkaDB by antonmks · · Score: 1

    Just wanted to mention AlenkaDB :
    https://github.com/antonmks/Alenka
    It is open source and it runs pretty fast on datasets that do not fit into gpu memory - check the 1TB TPC-H benchmarks.
    Database users are pretty conservative, so I haven't seen many people using it so far, aside from some folks at U.S. DoD.

  43. Wrong question by Coeurderoy · · Score: 1

    The right question would be : when will a major Open Source DB be released with a GPU accelerator...

    The issue is that it is quite hard to do, and it's harder to do it in a way that is sufficiently generic and elegant to deserve public dissemination.

  44. GPUs are proprietary by FithisUX · · Score: 1

    this is the reason. We need a standard GPU access API and vendor independent. If the DBs need a GPU to speed up, please use Parallela or support OpenGraphics.

  45. Missing from GPU database list: PGStrom by Anonymous Coward · · Score: 0

    PG-Strom is a module of FDW (foreign data wrapper) of PostgreSQL database. It was designed to utilize GPU devices to accelarate sequential scan on massive amount of records with complex qualifiers. Its basic concept is CPU and GPU should focus on the workload with their advantage, and perform concurrently. CPU has much more flexibility, thus, it has advantage on complex stuff such as Disk-I/O, on the other hand, GPU has much more parallelism of numerical calculation, thus, it has advantage on massive but simple stuff such as check of qualifiers for each rows.

    http://wiki.postgresql.org/wiki/PGStrom

  46. not worth it by Anonymous Coward · · Score: 0

    1 - GPU memory is limited, so you better have some nice compression/great columnar based databases. What is REALLY cool, is a distributed or clustered GPU system. That can have value.
    2 - Diso I/O is the real limit
    3 - Cost and complication - Relying on CUDA/OpenCL. The true value of GPU's is parallel processing when processing data, so honestly performing analytics would be best served with GPU

    A simple google of "GPU Database engine" gives this, and open source GPU DB:
    https://github.com/antonmks/Alenka