Lots of Cache isn’t always the answer

Posted in: General, Author: yobitech (December 19, 2011)

What is Cache(pronounced like cash)?

Cache is essentially memory that is used to enhance or to accelerate performance in a system. Cache is generally bolted onto storage devices to help facilitate bursts in data movement in a disk or a SAN system.

Cache does not, in any way, change the storage device but merely adds a “cushion” or “shock absorber”. The larger the cache, the more the system can absorb “spikes” and “peaks” in demands on the storage device.

The result… a better end user experience, but is that a good thing? Of course, but understanding what cache is and using it properly will result in optimal and proper use of such a tool. Ultimately, achieving a balanced system is what should be the goal of anyone using data storage today

Throwing Cache at Your Storage Problems

I have seen this happen all too often… Sounds cliché, but throwing “cache” at all your problems won’t make it go away. There is a point in any storage system where by adding a lot of cache will reach the point of “diminishing return”. This point of diminishing return will vary depending on the type or storage device configuration (speed of disks, raid level, connection type).

Cache can buffer up to a certain point, but at some point, the data still needs to land on the actual storage system. Adding cache is like using a credit card. It is great when shopping because it helps us feel better when and we get things so much easier and faster. Storage systems that have a lot of cache have to eventually pay for it on the backend. This cost comes in the form of write penalties (from RAID levels), IOPs support (lack of disk spindles or slow disks) and quasi-virtualized storage (typically a File System to emulate). The big problems come when the data that is being stored is used very heavily and consistently.

Cache reaches the point of diminishing return and shifts your problems to the backend. So remember, a good storage system will show its merits when it can boast the use of less cache. An example of this would be Compellent. Compellent’s truly virtualized storage can handle data issues upfront with little dependence from cache.

With the growing popularity of SSDs because of their robust speeds, some disk vendors like EMC is using them as a way to augment traditional cache. This will help, but essentially it is pushing the point of diminishing return further down the road. SSDs are also not the same as cache for it is great for read operations, but for write operations, it is reduced (as compared to read operations). Be careful of this tactic because the backend still needs to process the workload.

So before you go out and spend tons of cash, check and ask your storage vendor, how much cache is in their system and why. Don’t invest in a storage system that resembles our national debt… remember, we eventually have to pay in the end.