Superfast SSDs are coming, but will they be used the right way?
arstechnica.com
arstechnica.com
IMO: sure, that would be nice, but he's overstating his case. SSD's are even more useful as the main hard drive than just a cache. 80-160GB (the current sweet spot for cheap SSD's) is big enough for 80% of all users, in 12 months, we'll have hit 95%. The only operating system that moves fast enough to add support for something like this in that sort of timeframe is Linux, which is only used by 1% of desktop users anyways. (And Linux works well in a 10-20GB partition, let alone 160GB)...
http://en.wikipedia.org/wiki/ReadyBoost
The ars article isn't very clear, however it isn't talking about a system having a magnetic hard drive and a flash hard drive (in a standard 2.5/3.5 fashion), but rather a magnetic disk and some sort of built-in or extension flash memory. There are new upcoming motherboards that have a decent amount of onboard flash memory for precisely this usage model.
In the SAN market there is a raging trend called Easy Tiering, FAST, or whatever other marketing glop the vendor makes. It allows you to have a couple of SSDs, and then lots of magnetic disks, finding a sweet spot between volume and speed as it automatically moves hot spots to the SSDs. It's a perfect use of varying speed technologies.
The new hybrid hard drives bring this -- to some success -- to the consumer market. They just need a lot more flash and a better algorithm and it's a killer solution: A 2TB magnetic disk with 32GB of high speed flash would be incredible.
That is why all those companies are moving to PCIe directly, for the extra speed. If the OS were to handle caching and other things so the user didn't have to worry about it, then the experience would be much greater and faster all said.
ReadyBoost is different from PreFetch (they are features you can turn off/on independent of each other) which I believe you are referring to when you mention "pre-loading". The wikipedia article is decent: http://en.wikipedia.org/wiki/ReadyBoost
No need to update your OS if you buy the Seagate Momentus XT hybrid SSD/platter drive (now $110 for 500 GB on Amazon) as the drive will do this itself for any OS. The SSD part of the drive acts as a transparent read-through cache. I bought this for my Thinkpad and am very happy w/ the performance.
(If the OS is just using the flash as a cache, OK, but why? It's slower and more expensive than RAM.)
Solaris already has L2ARC, Vista had ReadyWhatever, and arguably if Apple had started working on it in 2006/7 (and hadn't been distracted by iOS) the feature would be done by now. But yeah, it looks like a lot of flash caching code is coming to market too late to do any good for desktop/laptop users.
ZIL: http://blogs.sun.com/rdm/entry/zil_ssd_and_other_fun
L2ARC: http://blogs.sun.com/brendan/entry/test
I believe this is the "right way" the article is advocating. You can use it now.
I'm not sure how effective this would be, though. If you want to 'extend' the amount of RAM you have, it would be far better to mmap() a file rather than hope that everything works as you expect with swap.
Or, just buy a hybrid disk and let the hardware do it.
And looking at supermicro's page, their 4U tower allows you to populate up to 192GB....
Naive analysis, since it doesn't take into account um..persistence, but still interesting to see how expensive these fusion io parts are...
High-end SSD[1] pricing has never made sense to me, but, then, I expect that the target market is "enterprise," where paying for the cost of sales, even/especially when it's a hefty multiple of the cost of the technology, is the norm.
ETA: The primary value of having something like this on the end of a PCIe or disk interface tether is that the size limit for a single machine becomes much higher than a single unit's capacity.
[1] Including DRAM-based ones historically, not just modern flash-based ones.
Also, RAM resets as soon as you restart your computer.
"And right now, they're also wallet-bustingly expensive, even for enterprise customers."
Check the revodrive - 480GB PCI-E drive, bootable, costs the same amount as a 512GB standard SSD with the SATA bottleneck.
If you want to go slower, smaller, and cheaper, you can pick up a consumer-grade, 80GB OCZ PCIe SSD card from Amazon for $300 and change, but you'll get only 540MB/s read and 450MB/s write.
> Intel, Dell, IBM, EMC, and a host of other component makers and
> OEMs have announced a partnership aimed at developing a standard
> interface for PCIe-hosted solid-state disks
And this is how a company like OCZ can beat the big guys. Why use the high-latency PCIe at all? SSDs are several orders of magnitude faster than other I/O.Right now the only viable interfaces to PCIe (that I know of) are Infiniband and Fibre Channel, though I imagine such systems don't come cheap.
So at $8,000 for 160GB, we now use ultra expensive SSD as an alternative for more cheap faster RAM? You do remember why swap was invented - because memory was scarce and disk was cheap.
I'm not finding it on their page, but they had one product that was 1TB of ram, backed by a 1 TB disk with a backup-battery. You get super fast storage, and if the power went out, the TB of ram would get saved to disk.
They have it about right when you're really starving for IOPS. It naturally comes at a price. But last time I checked the violin's were a much more natural next step after maxing out local SSDs and RAM than the FusionIO devices (which seem more like a stopgap-solution rather than a scaling path).
:)
But my point remains. I have say 1Gb of ram, I need more memory, so I turn on swap, swap is slow so I go out and buy a super-expensive SSD hard drive instead of just buying more ram.
You have to read to read and read to write. Every depth of the tree that doesn't fit into main memory costs you a random read, whether to read or write.
This is entirely backwards. NoSQL solutions tend to trade space for reduced I/O, whereas a relational database trades I/O for reduced space.