Welcome!

Java Authors: Pat Romanski, Kevin Benedict, Liz McMillan, Jerry Melnick, Elizabeth White

Related Topics: Virtualization, SOA & WOA, Open Source

Virtualization: Blog Feed Post

Using RAM in SSD Caching

Dr Dog Says “You Need More RAM In Your Cache Diet”

Dr Dog Says “You Need More RAM In Your Cache Diet”
Well, I am not really a doctor, but I play one on TV. You may remember (if you are old enough) that line from the 1986 Vicks-44 TV commercial.  Anyway, while I may not be a real doctor, I can certainly tell you about why you need more RAM in you cache diet.

“I Think My Cache Diet Is Great”
If you were happily running your IT system but needed some additional performance, chances are you turned to some kind of SSD caching solution to improve performance at a lower cost point than adding more servers or storage. You went on what I am calling a “cache diet” (no, not the “crash diet” you went on last year to lose a few lbs).  You may think your cache diet is great.  “Dog, we got some performance improvement and the applications guys are not bothering me anymore, at least for now.”  And it is true, you did see some performance improvement when you went to an SSD caching solution….but now, things are starting to slow down again and the applications guys are making noise again. You are experiencing IO bottlenecks and higher latency times for data access or you just never really got all the improvements you expected. “So what do I do now, Dr. Dog?”  Well, the problem is the SSD cache solution you implemented does not have any RAM in it and the solution from the good doctor is “you need more RAM in your cache diet.”

We Call It “Hybrid Caching”
SSD caching is a combination of an SSD device and SSD caching software.  It is being sold by many vendors and comes in many flavors.   It can be installed in many different locations in the computer system storage architecture.  This was discussed in a recently posted blog where the pros/cons of each location were discussed.  What was not talked about in that blog, however, was what types of caching algorithms actually used RAM as part of their solution.  At Velobit, we use a combination of SSD and RAM to implement our SSD caching software; a solution we refer to as “hybrid caching.”

“So What Does More RAM In My Cache Diet Actually Do?”
“Doctor” Dog shall explain: Using RAM with SSD cache hardware makes the life of the SSD better.  Even a small amount of RAM is effective in reducing IO loads on the SSD.  Obviously, if RAM is used for cache, a RAM cache hit is going to respond faster than any SSD and frees the SSD to perform other essential tasks such as garbage collection and complete pending writes.  SSDs perform poorly with mixed read/write IOs. A RAM cache helps limit mixed writes/reads, improving SSD performance and overall cache performance.

Velobit HyperCache SSD caching software uses RAM efficiently so even a small amount of RAM allocated to caching can impact performance.  Velobit uses compression algorithms based on content locality caching to reduce the amount of physical data stored in RAM.  The impact of this is to effectively increase the virtual cache size without dedicating excessive RAM resources to cache. And, while some file system caching software can use RAM to improve performance, those techniques do not use data compression to maximize the performance of the allocated RAM.

Finally, using RAM in the caching algorithm allows the Velobit SSD caching software to do selective SSD writes – it does not write data to the SSD unless the data needs to go there.  Sequential data is written directly to HDD, completely bypassing the SSD.

“I Feel Better Already”
So, if your SSD caching system seems a little, shall we say, constipated, you can probably fix that by adding a little RAM to your SSD cache diet.

Read the original blog entry...

More Stories By Peter Velikin

Peter Velikin has 12 years of experience creating new markets and commercializing products in multiple high tech industries. Prior to VeloBit, he was VP Marketing at Zmags, a SaaS-based digital content platform for e-commerce and mobile devices, where he managed all aspects of marketing, product management, and business development. Prior to that, Peter was Director of Product and Market Strategy at PTC, responsible for PTC’s publishing, content management, and services solutions. Prior to PTC, Peter was at EMC Corporation, where he held roles in product management, business development, and engineering program management.

Peter has an MS in Electrical Engineering from Boston University and an MBA from Harvard Business School.