Log-structured Caching for Linux
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc Update dm-writeboost-readme.txt Nov 10, 2018
src bump version to 2.2.10 Nov 8, 2018
ChangeLog close #199 update ChangeLog for v2.2.10 Nov 8, 2018
LICENSE add license statements to source files and README Jun 6, 2015
Makefile bump version to 2.2.10 Nov 8, 2018
README.md Update README.md Nov 10, 2018

README.md

dm-writeboost Gitter

Log-structured Caching for Linux

Overview

dm-writeboost is originated from Disk Caching Disk (DCD). DCD, implemented in Solaris, is an OS-level IO controller that builds logs from in-coming writes (data and metadata) and then writes the logs sequentially similar to log-structured filesystem. dm-writeboost implements the concept on Linux's device-mapper in more sophisticated way. As a further extension, dm-writeboost supports read-caching which also writes data sequentially.

Documents

Features

  • Durable: Any power failure can't break consistency because each log consists of data, metadata and the checksum of the log itself.
  • Lifetime: Other caching software (e.g. dm-cache) separates data and metadata and therefore submits writes to SSD too frequently. dm-writeboost, on the other hand, submits only one writes for hundreds of data and metadata updates so the SSD lives longer since SSD's lifetime depends on how many writes are submitted.
  • Fast: Since the sequential write is the best I/O pattern for every SSD and the code base is optimized for in-coming random writes, the write performance is the best among all caching drivers including dm-cache and bcache.
  • Portable: All kernel version 3.10 or later is supported with minimum compile-time macros.

Usage

  • Install: sudo make install to install and sudo make uninstall to uninstall. sudo make uninstall MODULE_VERSION=xxx can uninstall specific version that's installed. DKMS is required so please install it beforehand. (usually available in package system)
  • Make a device: Make a script to build a caching device. Please read doc/dm-writeboost-readme.txt for the dmsetup command detail. After reboot, you need to rebuild the caching device rather than reformatting as in the initial setup.

Distribution Packages

Related Projects

Related works

Award

Awarded by Japanese OSS Encouragement Award. Thanks!

License

Copyright (C) 2012-2018 Akira Hayakawa <ruby.wktk@gmail.com>

This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Developer Info

Akira Hayakawa (@akiradeveloper)
e-mail: ruby.wktk@gmail.com