Reasons Unbeknownst

May 10, 2009

Software RAID with a GPU (CUDA)

Filed under: Random Thoughts — Tags: , , , — Kirk @

[Edit: I just got a bunch of traffic from Nvidia and Sandia labs so I'm thinking I may be on to something here]

So I was sitting here thinking about how modern RAID cards are completely inadequate when it comes to solid state hard drives (as I often do), and I had an idea. Why can’t graphics card hardware be used to accelerate software RAID? We have CUDA right?

For a second I thought I was onto something truly original but after a quick search it looks like some guys over at Sandia Labs beat me to the punch by a few months:

“One example is the RAID software developed by researchers at the University of Alabama and Sandia National Laboratory that transforms CUDA-enabled GPUs into high-performance RAID accelerators that calculate Reed-Solomon codes in real time for high-throughput disk subsystems (according to “Accelerating Reed-Solomon Coding in RAID Systems with GPUs” by Matthew Curry, Lee Ward, Tony Skjellum and Ron Brightwell, IPDPS 2008). From their abstract, “Performance results show that the GPU can outperform a modern CPU on this problem by an order of magnitude and also confirm that a GPU can be used to support a system with at least three parity disks with no performance penalty.” I’ll bet the new NVIDIA hardware will perform even better. My guess is we will see a CUDA-enhanced Linux md (multiple device or software RAID) driver in the near future.”

The problem for using this sort of tech in the consumer space is that people want to boot from their ridiculously fast RAID arrays and software RAID makes that difficult (though not impossible with Linux if you don’t RAID the kernel). If you’re using a software RAID array and the OS crashes you can lose an array.

Here’s a link to the actual paper.

Just had another idea. If a RAID driver could check for CUDA support and only use it if present then an OS could boot in a slower CPU RAID setup until the graphics drivers(CUDA) loaded at which point things would get a lot snappier.

In the future I’m going to guess we’ll see hard drives on PCI-E cards with ONFI flash chips and NO SATA PORTS. With RAID handled by some standardized version of CUDA. Operating systems will have ONFI drivers baked in. This would effectively collapse the hardware RAID industry as we know it.

SLC NAND is only going to get cheaper. I imagine we’ll see 100GB drives containing 200GBytes of NAND. 150GB for a RAID 5 array and 50GB for wear leveling. At some point diminishing returns kick it. Are we really going to need three gigabytes per second of bandwidth from our drives to open word documents?

Wikipedia on
CUDA:
http://en.wikipedia.org/wiki/CUDA

ONFI:
http://en.wikipedia.org/wiki/Open_NAND_Flash_Interface_Working_Group

Related posts:

  1. Quick Thoughts on Intel’s new SSDs
  2. The Last Bottleneck
  3. Solid State Drive RAID0 Vista PC for under $1000?
  4. Some Updated SSD Forecasts
  5. Hard Drive Progress and the Viability of Vista

1 Comment »

  1. Great, I am also beaten by the punch. I just came up the idea of CUDA + RAID thing as well.

    Comment by woody — June 12, 2009 @

RSS feed for comments on this post. TrackBack URL

Leave a comment

Powered by WordPress