Facebook's Flashcache For The Linux Kernel

Posted by Michael Larabel on September 25, 2011

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  2. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  3. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
  4. AMD Radeon Gallium3D More Competitive With Catalyst On Linux
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. GCC 4.8.1 Compiler Due To Be Out Next Week
  2. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
  3. Linux's "Ondemand" Governor Is No Longer Fit
  4. Firefox 22 Beta Enables WebRTC Support
  5. OpenSUSE 13.1 Milestone 1 Released
  6. DRM Graphics Driver Comes For Dove/Cubox
  7. JADE: An LLVM-Based Video Decoder For MPEG RVC
  8. Ubuntu 13.10 Likely Switching To Chromium Browser
  9. Unity 7, Compiz To Be Polished For Ubuntu 13.10
  10. Unity 8, Mir To Be Experimental Choice In Ubuntu 13.10
  11. Linux Mint 15 "Olivia" Approaches With New Tools
Latest Forum Talk
  1. Firefox 22 Beta Enables WebRTC Support
  2. Ubuntu 13.10 Likely Switching To Chromium Browser
  3. Linux's "Ondemand" Governor Is No...
  4. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  5. Kubuntu, KDE Has Little Hope For Ubuntu's Mir
  6. Greater Radeon Gallium3D Shader Optimization Tests
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite