Facebook has officially announced that it is open sourcing its caching engine, CacheLib, for Web scale services.
CacheLib is described as a pluggable in-process caching engine for collaboratively building and scaling high-performance services.CacheLib’s C++ library provides an in-process high-performance caching mechanism that enables developers to build and customize scalable concurrent caches through its simple API, with the built-in ability to transparently leverage DRAM and SSD caches. Also available in the GitHub repository is CacheBench, a benchmarking tool that can be used to evaluate cache performance for different production workloads.
CacheLib is currently used in over 70 large systems at Facebook, including social graphs, content delivery networks, storage, and backup key caches, and is working with Twitter to integrate CacheLib into Pelikan.io to enable SSDs to cache objects in the Twitter infrastructure, according to the article. Pinterest, on the other hand, is evaluating the adoption of CacheLib in its machine learning infrastructure systems to improve predictive performance and system stability.
Finally, Facebook notes that this open source is part of its Open Compute Project (OCP) NVMe Cloud SSD specification and will help adapt future NVM technologies to cache workloads across the industry.