Facebook builds 'McDipper' – memcached for flash
Sizzles flash like memcached made DRAM dance
For some things you need DRAM, but for everything else there's flash.
At least that's the message Facebook gave on Tuesday when it took the wraps off 'McDipper', a technology the social network has developed to let it save on memory and get more out of its flash.
In a post to the Facebook engineering blog that is sure to get the brains of storage nerds revving, the social network's engineering team gave details on its memcache protocol–compatible McDipper flash-based cache server.
"The main design goals of McDipper are to make efficient use of flash storage (i.e. to deliver performance as close to that of the underlying device as possible) and to be a drop-in replacement for Memcached," the team wrote in a post to the blog.
McDipper can be a handy tool for companies looking to minimize their use of expensive RAM without having to compromise on latency.
For example, Facebook has used McDipper in its infrastructure for the past year in such a way the social network can keep hashed metadata about photos in memory, but keep the unwieldy large photos on flash.
McDipper's storage layout
"This configuration gives us the large sequential writes we need to minimize write amplification on the flash device and allows us to serve a photo fetch with one flash storage read and complete a photo store with a single write completed as part of a more efficient bulk operation," the company wrote.
By using McDipper, Facebook has been able to cut the number of servers for some tasks by as much as 90 per cent, while making sure that over 90 per cent of requests are met with responses in the sub-millisecond range.
Though many storage technologies offer a variety of tools for tiering data across storage, these tend to come with either a latency overheard or a wallet-breaking license fee.
Memcached, on the other hand, is a stripped-down, well-understood system that, though limited, lets administrators cut through their infrastructure and talk straight to the storage bones. It turns 10 this year, and was initially developed to support LiveJournal.
By developing McDipper, Facebook has given itself another way of avoiding the pitfalls that come with depending on a specific vendor's technology.
The tech is being used to serve over 150Gbps from forward caches in Facebook's content delivery network (CDN) at the moment, the company wrote in the post.
Though the company has no immediate plans to publish the protocol as open source, the team that developed it would like to, a Facebook spokesman told The Register.
Until then, this peek behind the social network's curtain serves to spin-up storage engineers' imaginations, and perhaps get a few more infrastructure CVs plopping onto the doormat at Zuckerberg HQ. ®