From: Vladislav Bolkhovitin <vst at vlnb.net>
To: spdk@lists.01.org
Subject: Re: [SPDK] SCST Usermode iSCSI Storage Server now handles Intel SPDK backing storage
Date: Tue, 05 Sep 2017 20:25:50 -0700 [thread overview]
Message-ID: <59AF6ABE.7070806@vlnb.net> (raw)
In-Reply-To: 4021f317-59b8-48f6-6317-1307ee381b78@gmail.com
[-- Attachment #1: Type: text/plain, Size: 2872 bytes --]
Wonderful!
The only note would be that, as I have already mentioned before, tcmu does data copy
between user mode module and kernel, so usage with SCST zero-copy scst_user instead
would be more performance efficient.
Thanks,
Vlad
David Butterfield wrote on 09/05/2017 12:25 AM:
> The SCST Usermode iSCSI Storage Server can now utilize backing storage through
> the Intel Storage Performance Development Kit (SPDK) API.
>
> The SCST Usermode Server is a port of about 80 KLOC of the SCST Linux kernel
> software to run entirely in usermode on an unmodified kernel, with virtually
> no change to the existing SCST source code.
>
> The diagram on the left side of this PDF page compares the usual kernel-based
> SCST configuration [blue box] with the configuration adapted for usermode
> [purple box]
> https://github.com/DavidButterfield/SCST-Usermode-Adaptation/blob/usermode/usermode/scstu_tcmur.pdf
>
> The diagram on the right side of that page illustrates the datapath from
> Initiator to backing storage API -- showing paths through LIO (in-kernel), and
> through Usermode SCST [purple box]. The Usermode SCST server can access
> backing storage through any of these interfaces: preadv(2) and pwritev(2),
> aio(7), or the tcmu-runner backstorage API [red arrow].
>
> The tcmu-runner backstorage API is a usermode interface point between the
> kernel-based LIO facility and usermode backstore-specific handlers. The
> tcmu-runner project implements backstore handlers for Ceph/rbd, Gluster/glfs,
> and QEMU/qcow [green box]. I have re-used that same API for Usermode SCST so
> that it can make use of those same backstore handlers [red arrow].
>
> I have also implemented two additional backstore handlers: a "ram" driver that
> uses mmap(2) either anonymously or with a persistent backing file; and most
> recently, an interface module to the Intel Storage Performance Development Kit
> (SPDK) [red circle -- note that the new SPDK module is a prototype, presently
> functional with Usermode SCST, but not yet through the LIO datapath].
>
> Project is at https://github.com/DavidButterfield/SCST-Usermode-Adaptation --
> the README there has a few diagrams and a link to a technical paper. The new
> SPDK backstore handler is in usermode/spdk.c
>
> The paper starts by describing the port of SCST from the Linux kernel to
> usermode, including diagrams showing how this was done without changing the
> SCST source code. Next I specify the configuration used for performance
> measurements, followed by plots and analysis interpreting the results. I
> introduce an experimental "Adaptive Nagle" algorithm to improve performance of
> small Read operations. An appendix develops a performance model that attempts
> to maintain some intuition in a fairly complicated analysis.
>
> David Butterfield
next reply other threads:[~2017-09-06 3:25 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-09-06 3:25 Vladislav Bolkhovitin [this message]
-- strict thread matches above, loose matches on Subject: below --
2017-09-06 23:32 [SPDK] SCST Usermode iSCSI Storage Server now handles Intel SPDK backing storage Vladislav Bolkhovitin
2017-09-06 22:48 David Butterfield
2017-09-05 7:25 David Butterfield
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=59AF6ABE.7070806@vlnb.net \
--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.