Just an FYI.
I installed a hybrid HDD into my notebook (that's an ordinary HDD with several GB's of flash designed to act as a cache). The middle-tier cache concept seems to work reasonably well, it keeps the most-seeked-to sectors in flash for quick(er) access. I can see a clear difference in disk performance whenever my workload changes dramatically. Mostly, it just helps Windows boot faster, and helps MS Office apps load faster.
But the Achilles' heel of any caching design like this is apparent when you do something like, say, boot into another OS. After running Ubuntu for two days, rebooting into Windows felt sloooooow. I guess two days was enough time for full cache replacement, I think this model has 8GByte of flash built in, so that's entirely reasonable. Upon rebooting into Windows, though, launching Outlook and opening a mailbox folder took several *minutes* longer than normal.
It stands to reason that these types of disks would excel in areas where there's strong locality of information... like the NTFS File Descriptor table. And this also explains why performance was utterly awful when using btrfs - locality of metadata is almost zero with that FS.
So, just a hint if you're considering buying this type of disk - consider your workload. If your workload changes often, you'd be better off spending the additional cash on a slightly faster or slightly bigger non-hybrid HDD.
Is anyone using flash as a mid-tier cache in large disk arrays yet? Do they experience the same issue?
-Adam Thompson athompso@athompso.net
I hadn't heard about hybrid drives. Sounds like the cache that many mechanical drives have, but much larger than the typical 16 or 32 MB.
Is there a way of making your own hybrid? It would be nice to have a 32GB SSD (or several in a RAID) that would act as a cache to slower drives. Some logic would be needed to ensure that the most stale info is written to the mechanical HD when resources were available.
If the SSD array was sufficiently large, a cron job to periodically back it up to mechanical HD would be adequate.
The best solution would be a hardware device that would transparently use a SSD array as cache to a mechanical array. Does such a thing exist?
-Dan
On 2011-05-21, at 12:30 PM, Adam Thompson wrote:
Just an FYI.
I installed a hybrid HDD into my notebook (that's an ordinary HDD with several GB's of flash designed to act as a cache). The middle-tier cache concept seems to work reasonably well, it keeps the most-seeked-to sectors in flash for quick(er) access. I can see a clear difference in disk performance whenever my workload changes dramatically. Mostly, it just helps Windows boot faster, and helps MS Office apps load faster.
But the Achilles' heel of any caching design like this is apparent when you do something like, say, boot into another OS. After running Ubuntu for two days, rebooting into Windows felt sloooooow. I guess two days was enough time for full cache replacement, I think this model has 8GByte of flash built in, so that's entirely reasonable. Upon rebooting into Windows, though, launching Outlook and opening a mailbox folder took several *minutes* longer than normal.
It stands to reason that these types of disks would excel in areas where there's strong locality of information... like the NTFS File Descriptor table. And this also explains why performance was utterly awful when using btrfs - locality of metadata is almost zero with that FS.
So, just a hint if you're considering buying this type of disk - consider your workload. If your workload changes often, you'd be better off spending the additional cash on a slightly faster or slightly bigger non-hybrid HDD.
Is anyone using flash as a mid-tier cache in large disk arrays yet? Do they experience the same issue?
-Adam Thompson athompso@athompso.net
Roundtable mailing list Roundtable@muug.mb.ca http://www.muug.mb.ca/mailman/listinfo/roundtable
Dan Martin GP Hospital Practitioner Computer Scientist ummar143@shaw.ca (204) 831-1746 answering machine always on
On 2011-05-21 Dan Martin wrote:
Is there a way of making your own hybrid? It would be nice to have a 32GB SSD (or several in a RAID) that would act as a cache to slower drives. Some logic would be needed to ensure that the most stale info is written to the mechanical HD when resources were available.
I don't think there is such a thing yet, though the linux community could/would probably come up with something in software if there was a benefit to it. However, the cheaper main RAM gets, the less argument you have for needing a middle SSD cache layer.
On a similar note, I've been thinking a lot about using cheap/small SSD's for swap and journal duty. FS journal activity that happens on all mainstream FS's now could benefit from moving off the same spindles the data is on. Has anyone played with this idea? I'm thinking it would really enhance the speed of things like numerous small file writes.
On Sat, 21 May 2011 16:16:05 -0500, Trevor Cordes wrote:
On 2011-05-21 Dan Martin wrote:
Is there a way of making your own hybrid? It would be nice to have a 32GB SSD (or several in a RAID) that would act as a cache to slower drives. Some logic would be needed to ensure that the most stale info is written to the mechanical HD when resources were available.
I don't think there is such a thing yet, though the linux community could/would probably come up with something in software if there was a benefit to it. However, the cheaper main RAM gets, the less argument you have for needing a middle SSD cache layer.
On a similar note, I've been thinking a lot about using cheap/small SSD's for swap and journal duty. FS journal activity that happens on all mainstream FS's now could benefit from moving off the same spindles the data is on. Has anyone played with this idea? I'm thinking it would really enhance the speed of things like numerous small file writes. _______________________________________________
Checkout the Intel Sandybridge Z68 chipset which has an SSD caching feature. It will take up to 64GB of SSD as an 'inline' cache (that is not separate drives in OS). Along with that chipset release Intel released a 20GB SLC mSATA SSD which perfectly fits the bill there. Get a Z68 motherboard and a 'small' SSD in mSATA format and you have a nifty SSD cache for your spinning metal without wasting a SATA port.
I just heard about it myself and haven't played with it (or will ever play with it) but it sounds like an interesting option.