Monday, October 3, 2011

Facebook's Flashcache For The Linux Kernel

Facebook has made many open-source contributions over the years from their high-performance PHP-To-C++ compiler, to parts of their infrastructure, to some of their development tools. One of their open-source projects they made public last year for increasing their database performance was Flashcache. Flashcache is a kernel module that provides a block cache for Linux with various caching modes.

Flashcache was released by Facebook in April of 2010. There isn't any major news from Facebook about this caching module today, but while catching up on my notes at Oktoberfest and deciding what to benchmark upon my return next month, Flashcache was re-visited.

Flashcache can provide a simple persistent block cache to accelerate readers and writes from slower rotational media while caching the data on solid-state storage. Facebook originally designed this module to accelerate their MySQL database workloads, but it's a generic caching module for any disk-heavy workload.

Flashcache currently provides three caching modes: writeback, writethrough, and writearound. These modes plus how to use the kernel module and respective user-land utility can be found in their documentation.

This Facebook project hasn't been merged into the mainline Linux kernel, but it's GPL licensed and is available from GitHub.

Would you be interested in seeing benchmarks of Facebook's Flashcache in the coming weeks? Share your thoughts in the forums.

No comments:

Post a Comment