1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking Benchmarking Platform
Phoromatic Test Orchestration

EnhanceIO, Bcache & DM-Cache Benchmarked

Linux Kernel

Published on 11 June 2013 11:21 AM EDT
Written by Michael Larabel in Linux Kernel
4 Comments

Three different Linux disk caching methods for the Linux kernel were compared: EnhanceIO, Bcache, and DM-Cache. But which of these disk caching methods is the fastest when mixing SSDs and HDDs? Here's some results.

A Linux engineer at STEC Inc compared the performance of EnhanceIO, BCache, and DM-Cache. A 100GB HDD was used with a 20GB SSD providing write-through / write-back cache. For those out of the look on these different caching methods:

- EnhanceIO is a new SSD caching method for Linux and was merged for Linux 3.9 staging. For those unfamiliar with EnhanceIO, read those aforelinked articles.

- BCache is another caching method and the HDD/SSD caching method was merged for Linux 3.10. Again, click those articles for more information.

- Lastly, DM-Cache is the device mapper cache and aims to improve the performance of block devices by dynamically migrating data to faster/smaller devices (SSDs).

In terms of the company's results between EnhanceIO, BCache, and DM-Cache, on the Linux kernel mailing list are their full results.

The summary? "We found that EnhanceIO provides better throughput on zipf workload (with theta=1.2) in comparison to bcache and dm-cache for write through caches. However, for write back caches, we found that dm-cache had best throughput followed by EnhanceIO and then bcache. Dm-cache commits on-disk metadata every time a REQ_SYNC or REQ_FUA bio is written. If no such requests are made then it commits metadata once every second. If power is lost, it may lose some recent writes. However, EnhanceIO and bcache do not acknowledge IO completion until both IO and metadata hits the SSD. Hence, EnhanceIO and bcache provide higher data integrity at a cost of performance."

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux News
  1. Fedora 22 Is Being Released Next Tuesday
  2. OpenWRT 15.05 Preparing Improved Security & Better Networking
  3. Using The New LLVM/Clang OpenMP Support
  4. Zapcc Claims To Be A "Much Faster C++ Compiler"
  5. Godot 1.1 Engine Release Brings New 2D Engine
  6. Intel VA-API Driver 1.6 Is Coming
  7. Canonical Is Reportedly Considering An IPO
  8. GNOME 3.18 - GTK3 Now Supports RandR 1.5
  9. Fedora 22 Risks Being Delayed Beyond Next Week
  10. Systemd 220 Has Finally Been Released
  11. LibreOffice 5.0 Beta 1 Released
  12. Allwinner Publishes New CedarX Open-Source Code
Latest Articles & Reviews
  1. Btrfs RAID 0/1 Benchmarks On The Linux 4.1 Kernel
  2. The State Of Various Firefox Features
  3. Intel Iris Graphics Performance With Mesa 10.6
  4. Fedora Workstation 22 Is Looking Great, Running Fantastic
Most Viewed News This Week
  1. The Linux 4.0 Kernel Currently Has An EXT4 Corruption Issue
  2. Rust 1.0 Language Officially Released
  3. AMDGPU Open-Source Driver Code Continues Maturing
  4. Oculus Rift Suspends Linux Development To Focus On Windows
  5. Wine 1.7.43 Works On Desktop Shell Window Support
  6. Spec Ops: The Line Is The Latest Linux Shooter
  7. RadeonSI Gallium3D Driver To Be Enabled For Android
  8. Microsoft Open-Sources The Windows Communication Foundation