All of lore.kernel.org
 help / color / mirror / Atom feed
From: Walker, Benjamin <benjamin.walker at intel.com>
To: spdk@lists.01.org
Subject: Re: [SPDK] Regarding porting SPDK on linux
Date: Tue, 19 Apr 2016 16:07:33 +0000	[thread overview]
Message-ID: <1461082052.65657.6.camel@intel.com> (raw)
In-Reply-To: CAKGkwFyoxfED60_tp5DRzAPk0m59tr5N_K0bFg3hKB0Eovk5yA@mail.gmail.com

[-- Attachment #1: Type: text/plain, Size: 1526 bytes --]

RocksDB, at least by default, expects a POSIX compliant filesystem for I/O operations. When you load the SPDK NVMe driver in user space, you are foregoing your ability to use standard Linux kernel filesystems. Therefore, you can't just run RocksDB on top of the SPDK NVMe driver - you have to write some code to replace the filesystem. Fortunately, there are two nice things here that may make this still possible. First, RocksDB has a "pluggable" backend implemented as a base class named "Env" that you can inherit from and override. The stock distribution already provides an implementation to run RocksDB on HDFS, for example. Second, RocksDB uses only a very minimal set of operations when writing to a file, so you wouldn't have to implement the full range of features of a POSIX compliant filesystem. I don't want to minimize the amount of work this would take though - it still requires you to write a significant amount of code.

The latest release of Ceph (Jewel) now optionally implements their nodes using RocksDB + custom userspace filesystem + SPDK NVMe driver, so you can refer to that project as an example.

On Mon, 2016-04-18 at 22:33 -0500, Parag Panda wrote:
Hi,

I am planning to run RocksDB on a linux machine which has support of SPDK NVMe driver and not the native one. Can someone guide me through the process?

Thanks
Parag

_______________________________________________
SPDK mailing list
SPDK(a)lists.01.org<mailto:SPDK(a)lists.01.org>
https://lists.01.org/mailman/listinfo/spdk


             reply	other threads:[~2016-04-19 16:07 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-04-19 16:07 Walker, Benjamin [this message]
  -- strict thread matches above, loose matches on Subject: below --
2016-04-19  3:33 [SPDK] Regarding porting SPDK on linux Parag Panda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1461082052.65657.6.camel@intel.com \
    --to=spdk@lists.01.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.