项目作者: akiradeveloper

项目描述 :
Log-structured Caching for Linux
高级语言: C
项目地址: git://github.com/akiradeveloper/dm-writeboost.git
创建时间: 2013-05-25T01:22:17Z
项目社区:https://github.com/akiradeveloper/dm-writeboost

开源协议:GNU General Public License v2.0

下载


dm-writeboost

CI

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

Award

Awarded by Japanese OSS Encouragement Award. Thanks!

License

  1. Copyright (C) 2012-2024 Akira Hayakawa <ruby.wktk@gmail.com>
  2. This program is free software; you can redistribute it and/or modify
  3. it under the terms of the GNU General Public License as published by
  4. the Free Software Foundation; either version 2 of the License, or
  5. (at your option) any later version.
  6. This program is distributed in the hope that it will be useful,
  7. but WITHOUT ANY WARRANTY; without even the implied warranty of
  8. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  9. GNU General Public License for more details.
  10. You should have received a copy of the GNU General Public License along
  11. with this program; if not, write to the Free Software Foundation, Inc.,
  12. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Developer Info

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