Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

LSI offers their CacheCade storage tiering technology, which allows SSD devices to be used as read and write caches to augment traditional RAID arrays.

Other vendors have adopted similar technologies; HP SmartArray controllers have their SmartCache. Adaptec has MaxCache... Not to mention a number of software-based acceleration tools (sTec EnhanceIO, Velobit, FusionIO ioTurbine, Intel CAS, Facebook flashcache?).

Coming from a ZFS background, I make use of different types of SSDs to handle read caching (L2ARC) and write caching (ZIL) duties. Different traits are needed for their respective workloads; Low-latency and endurance for write caching. High capacity for read.

  • Since CacheCade SSDs can be used for write and read cache, what purpose does the RAID controller's onboard NVRAM play?
  • When used as a write cache, what danger is there to the CacheCade SSDs in terms of write endurance? Using consumer SSDs seems to be encouraged.
  • Do writes go straight to SSD or do they hit the controller's cache first?
  • How intelligent is the read caching algorithm? I understand how the ZFS ARC and L2ARC functions. Is there any insight into the CacheCade tiering process?
  • What metrics exist to monitor the effectiveness of the CacheCade setup? Is there a method to observe a cache hit ratio or percentage? How can you tell if it's really working?

I'm interested in opinions and feedback on the LSI solution. Any caveats? Tips?

share|improve this question
2  
Adaptec has the same. VERY good question. –  TomTom May 31 '13 at 13:13
add comment

3 Answers

up vote 4 down vote accepted
+50

Since CacheCade SSDs can be used for write and read cache, what purpose does the RAID controller's onboard NVRAM play?

If you leave the write caching feature of the controller enabled, the NVRAM will still be used primarily. The SSD write cache will typically only be used for larger quantities of write data, where the NVRAM alone is not enough to keep up.

When used as a write cache, what danger is there to the CacheCade SSDs in terms of write endurance? Using consumer SSDs seems to be encouraged.

This depends on how often your writes are actually causing the SSD write cache to become necessary... whether or not your drives are able to handle the write load quickly enough that the NVRAM doesn't fill up. In most scenarios I've seen, the write cache gets little to no action most of the time, so I wouldn't expect this to have a big impact on write endurance - most writes to the SSDs are likely to be part of your read caching.

Do writes go straight to SSD or do they hit the controller's cache first?

Answered above... Controller cache is hit first, SSD cache is more of a 2nd line of defense.

How intelligent is the read caching algorithm? I understand how the ZFS ARC and L2ARC functions. Is there any insight into the CacheCade tiering process?

Sorry... no knowledge to contribute on that - hopefully someone else will have some insight?

What metrics exist to monitor the effectiveness of the CacheCade setup? Is there a method to observe a cache hit ratio or percentage? How can you tell if it's working?

It doesn't look like any monitoring tools are available for this as there is with other SAN implementations of this feature set... And since the CacheCade virtual disk doesn't get presented to the OS, you may not have any way to manually monitor activity either. This may just require further testing to verify effectiveness...

Opinion/observation: In a lot of cases (when used correctly, read cache appropriately sized for the working data set) this feature makes things FLY. But in the end, it can be hit-and-miss.

share|improve this answer
1  
Hey, just wanted to add that there may be some metrics that are available in OS, from the manual page 220, talking about the MegaCLI options (which can be installed in Linux, Windows, Unix, Bsd, etc). It says Convention MegaCli -perfmon -start -interval <val> -aN Description -perfmon: Specifies collection of performance data. The possible parameters are: -start: Starts the performance data collection. -interval: the time interval (in minutes) that you specified for which you want the performance data collection. The default value is 5 minutes –  NickW Jun 10 '13 at 12:21
    
Link to the pdf: lsi.com/downloads/Public/Advanced%20Software/… –  NickW Jun 10 '13 at 12:23
    
Hmmm, not too verbose. I'd have to see what the collection format looks like. –  ewwhite Jun 10 '13 at 17:22
    
I'd be interested to see what data is actually collected/reported by that if anyone tests that out... –  JimNim Jun 18 '13 at 20:21
add comment

Speaking about hardware solutions I found no way to know exact hit ratio or something. I believe there are 2 reasons for that: the volume behind controller appears as a single drive (and so it should "just work"), and the hits are how for files but rather for HDD sectors so hit rate even on empty HDD may be confusing number. Moreover algorithms behind "hybridisation" are non-public so knowing hitrate won't help much. You just buy it and put it to work - low spendings, nice speed impact.

"Buy it and use it" approach is pretty nice, but the fact is noone knows for sure how to build the fastest combination: should we use several big HDD and several big SSD, or should we use many small HDD and several big SSD etc., and what's the difference between 100 or, say, 500 Gb or 2000Gb of SSD cache (even 500 looks overkill if volume hot data are small-sized), and should it be like 2x64Gb or 8x8Gb to have data transfer paralleled. Again, each vendor uses its own algorithm and may change it on next firmware update.

I write this mostly to say that my findings given me strange answer: if you use some general-purpose and general-load-profiled server, then h/w hybrid controller is fine even with relatively small SSDs, but if your tasks used to be specific you'd better go for s/w solution (which you'll be able to choose since you're the only one who knows the load profile) or for some high-priced PCI-card storages.

share|improve this answer
add comment

I have tried it on Dell R515 with Dell PERC H700 Raid w 1GB memory with couple 500MB/s SSDs

I did my bench marking few hours after installation, and after 48 hours

I didn't see much improvement for write speed, a little improvement for Read, I did the test a white ago and I don't have numbers now.

But it wasn't significant and I ended up using the storage box without this feature.

From my experience, most of these software are just a joke! if you need storage tiering, then build your own, get reliable hardware from Dell & fill the box with SSDs

At my work place storage tiering work really well HP 3Par & adaptive optimization add-on, it works as advertised but this solution is around 100K :)

share|improve this answer
7  
I don't think putting an SSD cache in front of SSDs would help at all :) –  Michael Hampton Jun 8 '13 at 17:28
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.