Thread (4 messages) 4 messages, 4 authors, 2014-01-28

RE: How important is bcache cache device in write-thru mode? (was Re: Tiered bcache)

From: Patrick Zwahlen <hidden>
Date: 2014-01-28 22:21:58

-----Original Message-----
From: Dr. Greg Wettstein [mailto:greg@wind.enjellic.com]
Sent: mardi 28 janvier 2014 15:20
To: Patrick Zwahlen; linux-bcache@vger.kernel.org
Cc: scst-devel@lists.sourceforge.net
Subject: RE: How important is bcache cache device in write-thru mode?
(was Re: Tiered bcache)

Interestingly enough we have been working on infrastructure to support
this type of model for some time.  Our primary focus is on
accelerating SCST based storage targets and software defined storage
(SDS) devices.

At one point in time we had entertained discussions with the SCST
developers to pay for an implementation of RAM based block device
cacheing in SCST itself, for a variety of reasons that didn't move
forward.  We recognized early on that Kent's work with bcache was
going to make that strategy irrelevant.

SCST using FILEIO is blindingly fast but I don't know of any serious
storage architects that are going to trust 50-60 gigabytes of a
database or filesystem to the Linux pagecache and associated vagaries
of VM writeback behavior.  So the architectural question becomes how
to take advantage of the fact that it is now tractable to provision
commodity based storage targets with a quarter terrabyte of RAM and
how to take advantage of this in a manner which protects data and
provides deterministic performance characteristics.

So Izzy (our golden retriever) and I spent a lot of time down at our
lake place over the holidays cross-country skiing and working on a
hugepage backed block device driver.  We are in the process of putting
the beta through various beatings and addressing some issues with the
device model implementation.  We are hoping to have something to
release in the next week or so before we leave for Colorado and some
downhill skiing.

The goal for this driver is a block based interface to RAM for use as
a cache set for bcache.  Since it sits directly on the physical
hugepage allocator and associated page magazine the block devices can
be dynamically configured, unlike the current RAM based block device,
which also has the disadvantage of being implemented on top of page
cache.  None of this should be construed as a gripe against the Linux
VM but obviously one does not want memory pressure to start driving a
high speed cache store out onto disk.
Our initial idea with btier and bcache was to use both SSD and DRAM. I
understand that you focus on DRAM only.

However, I also understand that at some point we might be able to mix
several cachesets so we can dream of a kind of tiered cache implemented
entirely within bcache.
This model is obviously dependent on solid behavior of bcache in
write-through mode.  We are testing aggressively against 3.10.x and
haven't tipped it over it but we will turn up the pressure on that and
see if it gives.  I'm pretty confident there is enough community and
commercial interest in all this to get the bugs beaten out pretty
thoroughly, provided people report them back.... :-)

We will copy both the bcache and SCST lists when we have something up
on the FTP site as it would seem to be of interest to both
communities.
Regards, - Patrick -

Attachments

  • smime.p7s [application/pkcs7-signature] 6043 bytes
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help