Tag Archives: SSD

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

Some Updated SSD Forecasts

Three thoughts on solid state drives given the new realities/products out there today.

There are rubmlings of the inadequacy of the 300MB/s limit on SATA 2.0 due to the ridonkulous speed of SSDs. While it’s true that some SSDs are hitting the limit during sustained reads, random writes and even random reads are typically nowhere near the limits of the SATA bus.

The point? Focus on the bottleneck. The bottleneck is MLC flash memory not the bus. The solution? SLC flash will give better performance for many uses on a PATA bus that you’ll get from SATA2/MLC. SLC is more expensive but at some point the price will drop make MLC obsolete . The other benefit of SLC is that it tends not to stutter like MLC.

Older laptops with SSD upgrades are the new Netbook. A lot of the older laptops use the PATA interface (instead of SATA) but it’s really not much slower than the original SATA 1 specification. Some more info here.

And finally, OCZ just released their Z-Drive. It’s a PCI Express based drive with pretty good performance but it just feels poorly engineered based on my reading. Instead of creating a new chip to handle more channels they’ve just created a power sucking beast comprised of at least three RAID controllers.

An ideal solution would be
Memory -> Controller -> PCI-E

OCZ appears to have created:
Memory -> RAID controller -> Controller -> PCI-E
Memory -> RAID controller

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.

Solid State Drive RAID0 Vista PC for under $1000?

Solid state drives (SSDs) are notoriously expensive beasts. Considering the recent price drops and growing realization that hard drives are now the last remaining bottleneck in everyday (non gaming) PC performance I set out to see if I could put together a Vista ready PC for under $1000 that will blow the doors off higher cost (non-gaming) systems. I’m looking for something that I can give to a parent who isn’t interested in Crysis timedemos, a parent who is more likely to complain about computer slowness during virus scans and web browsing than Adobe Premiere inadequacy. In short: 95% of the PC owning public.

Complaints about Solid State Drives mainly focus on the price. That’s still true but if you assume that the everyday user only needs 32GB things start to get interesting. Ignoring the disk subsystem, you can build a hugely capable system, even Vista ready, for a surprisingly low price.
The parts:
The prices below link to NewEgg.

  • Motherboard: $80 – AMD 780G based, includes Vista capable 3D and RAID support.
  • Processor: $33.99 – AMD Sempron 64 2800+ Palermo
  • Case: $55 – InWin with power supply. SSDs don’t put out much heat and the mobo has onboard video and a low watt CPU so cooling isn’t a huge concern.
  • RAM: $36 – 2 Gigabytes of no frills Kingston
  • SSDs: $395 each – 2x16GB Mtron MSD 6000 Solid State Drives.

So you can build a Vista ready machine, with no drives, for $205. Using two MTron 16GB SSDs in RAID 0 (see motherboard specs) to make one 32GB drive we arrive at a final price of $995. If you can avoid tax and get it delivered by a friendly mutant pigeon you’ll have a sub $1k SSD RAID box (software sold separately). You can get a cheaper case and add a DVD burner if you need it to keep it under $1000.

This machine will play basic 3D games (thanks to the 780G chipset) and should even handle BluRay decoding (again, thanks to the 780G) but the big difference in performance is the result of a ridiculous 200 megabytes per second flowing from the SSD RAID array. That compares to 81 from a WD Raptor and less for a typical desktop drive. The latency will also drop from 8.0 ms to 0.1 ms which is contributes the unusual speed jump when moving to SSDs. In one test Vista boot time dropped from 23.6 seconds with a WD Raptor to 10.1 with a single Mtron SSD.

Reliability:

RAID 0 scares people, and rightly so. If you lose any of your drives you lose all of your data. I have a server running a RAID 0 array in a garage in Pasadena because I needed performance on a budget. And though it’s backed up I get nervous on hot days, wondering if I’m going to have to put in a few hundred miles to get things running again. Solid state drives run cool and they don’t have moving parts so they tend to be more reliable than old style drives. I say tend because they haven’t been around long enough to determine long term reliability.

Overall Performance:

I’ve come to believe that it is the duty of wealthy nerds to benchmark systems for the good of the rest of us. Progressive testation if you will. For that reason I’m going to hold off on building this thing for now. My thesis though is that people are putting far to much emphasis on processor speed considering the bottlenecks created by years of stagnant progress in the hard drive market. I want a disk subsystem so fast that the CPU is pegged at 100% most of the time because it’s not waiting for that noisy relic of a storage device to rotate around to the right location.

Conclusion:

Pros:

  • Blazing disk performance due to SSDs in RAID 0 which is important for bootup, virus scanning, web browsing, and overall system snappiness.
  • Low power use thanks to SSDs and less beefy processor
  • Noise free drives
  • No need to defrag – performance not affected by fragmentation due to lack of moving parts

Cons:

  • 32Gigabytes is a bit of a stretch for Vista ultimate.
  • Lower end components used to keep it sub $1000
  • Not a great media/gaming PC though it’ll do basic games and Blu-Ray decoding if you spring for a drive

Image by gek_at2000 – click here for info and yes, I’m aware that it’s not a SSD.

Hard Drive Progress and the Viability of Vista

The slowest, most unreliable, and out-dated hunk of machinery in any computer, Mac, PC, laptop, whatever, is the hard drive. Computers today are like incredibly hi-tech cars driving around on wooden buggy wheels. Millions of dollars are poured into developing faster engines and fancy suspension systems but much of it goes to waste because the wooden wheels can only handle speeds under 30 miles per hour.

Hard drives are basically just shrunken down record players. They are no doubt marvels of engineering but they suffer from an unavoidable need to physically move an arm around, reading and writing data onto a spinning hunk of metal (see video). That’s all changing thanks to the emergence of solid state drives. These are a lot like the USB thumb drives stuck to countless key chains except they’re bigger, faster, and you can install your operating system on them.

Next Level Hardware just reviewed the latest generation solid state drive from MTron and it gives a really interesting glimpse into software performance on computers that are no longer bottlenecked by wooden wheels. I won’t get into the geeky details but the thing basically boots Vista more than twice as fast as the fastest mechanical hard drive. I had Vista on a pretty capable laptop with 2Gigs of RAM and it would take minutes of watching the hard drive light blink before I could actually use the thing. But what if Vista wasn’t such a slug? Would it be worth another look?

These drives are horribly expensive but prices are dropping fast. The NLH review is interesting because it’s now possible to imagine a world where there are no more computer bottlenecks and reliability is no longer a concern because of the durability of the new crop of drives.

If performance and reliability are no longer issues some obvious questions come to mind: Why would anybody ever buy a new computer? Will Vista finally find acceptance once the performance issues are solved by better hardware? If nobody needs to upgrade because even cheap PCs are just good enough will the hardware industry collapse?

I predict that people will continue to buy new computers because the cost will be much lower as we move towards system on chip processors from Intel, etc. near the end of the decade. Got a virus? Just buy a new computer for $40. Storage will be remote if Google keeps its promises so even a computer failure will cease to be a big deal.

I’m still skeptical about Vista. By the time these solid state drives are cheap enough for mainstream use Vista will have been declared dead. There are rumors that MS is working on a really solid new OS that could replace Vista but Linux distributions may be good enough by then that it won’t make sense to pay an extra hundred dollars for a DRM shackled OS. Apple is interesting because standards are making the OS of choice nearly irrelevant but they’re also opening up Apple to competition from Linux. Virtual machines are probably the most interesting development because they will make applications OS agnostic. Want to run Office 07 in Linux or Mac? No problem, just boot XP in a virtual machine and do what you need to do.

Soon computers will be nearly free, performance will be more than anybody can use, at least for today’s apps, and the prospect of spending $150 for an operating system running on a $100 PC seems unlikely. Technically, economically, philosophically, Linux would seem destined for world domination.