Tag Archives: hard drive

Software RAID with a GPU (CUDA)

[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

Quick Thoughts on Intel’s new SSDs

Update: I’m getting some traffic from Intel’s servers according to my logs, maybe I’m on to something…

Intel is about to release some new hard drive replacements in the form of Solid State Drives. The only way I think these will be interesting for the average consumer is with a price much lower than current SSD offerings. Let’s presume that these drives can max out SATAII bandwidth at 250-280MB/s. (edit: according to this article, they’re going to do 250MB/s read and 130MB/s write.) That’s about twice as good as offerings from MTron et al. but the reason current SSDs kick mechanical drive butt is due to the super low latency (see Vista bootup benches with SSDs in RAID here).

So the latency probably won’t drop which means regular users will only see minor performance benefits over MTRON drives. So why did Intel bother creating these things? I have three theories.

1> They’ve figured out how to create better drive controllers which allows them to use inexpensive flash memory without losing performance. This probably includes something like MFT(managed flash technology) and a drive controller designed specifically to work with flash memory. These things suck down twice as much power (not overall though) as competing SSDs which is a good sign that there is a lot going on under the hood.

2> The use of something like the aforementioned MFT solves the problems associated with random write performance in flash drives. That doesn’t matter (much) in a home computer but for servers it can be crippling. Even if the price is not significantly lower than the competition at launch I would expect these to be hugely popular in servers which are often bottlenecked by disk IO. In a great article by BigDBAHead flash with MFT was roughly 15x faster than Raptors in random write operations. The same drive sans MFT was only half as fast as the Raptor. MFT is currently a software add-on but my guess is that Intel has it built into the drives.

3> The new drive controller will allow higher reliability which the old school drive manufacturers are trying to use as a way to scare people into buying old technology. If these things are as reliable as they claim…

“Grimsrud kicked off half an hour or so of amazing bravado by declaring the endurance of Intel SSDs should be roughly 50 times better than the competition.”

then cost will be the sole remaining concern.

My only hope is that Intel releases smaller versions of this drive. Good RAID controllers can handle 800MB/s these days so if Intel can eek out 200MB/s with one drive an affordable 4x16Gig RAID 0 array would be possible and it would change the hard drive industry over night.

Note: People talk about the processors on RAID cards without mentioning the fact that the chips run at various speeds. Someone with money to burn needs to get a RAID card with an Intel chip @1.2 Ghz (instead of 800Mhz) which should be at least 50% faster than the NextLevelHardware Array which would yield 1.2GBytes / second or so. The brand spanking new Areca ARC-1680ix-12 looks like the perfect RAID card for this environment.

Update 2: A theory: They’re using an underclocked IOP processor inside their SSDs.
Update 3: Another theory: They’re using the IOP processor to do internal/transparent RAID 5 or 6 to increase reliability.