[dm-devel] [PATCH v2] staging: writeboost: Add dm-writeboost

Jianjian Huo samuel.huo at gmail.com
Sat Dec 13 07:08:19 UTC 2014


Those are nice features to have. But, for those make_request virtual
block drivers, I don't think there is a way to get rid of bio
splitting totally. For example, underlying devices have their own io
limits, you have to split bio in order to follow those limits. OTOH,
reducing splitting as much as possible definitely will save CPU cycles
and improve throughput.

-Jianjian

On Fri, Dec 12, 2014 at 2:18 PM, Spelic <spelic at shiftmail.org> wrote:
> On 12/12/2014 12:41, Bart Van Assche wrote:
>>
>> On 12/12/14 10:35, Akira Hayakawa wrote:
>>>
>>> Writeboost batches number of writes into a log (that is 512KB large) and
>>> submits to SSD
>>> which maximizes the throughput and the lifetime of the SSD.
>>
>>
>> Does this mean that dm-writeboost is similar to btier ? If so, this makes
>> me wonder which of these two subsystems would be the best candidate for
>> upstream inclusion. As far as I know btier doesn't split bio's. The source
>> code of btier can be downloaded from http://sourceforge.net/projects/tier/.
>
>
> No, Btier is a caching (tiering actually but there is little difference)
> software like bcache or dm-cache, which are are open source software
> reimplementations of things like LSI CacheCade.
>
> OTOH dm-writeboost is an open source software reimplementation of a BBWC
> (battery backed write cache) of disk controllers.
>
> For this reason dm-writeboost was unique in its class and no doubt it could
> be blazing fast (untested by me) if correctly implemented, orders of
> magnitude faster than caching softwares, and I was looking forward to see
> dm-writeboost into the kernel.
>
> But me too I think that dm-writeboost really needs not to split BIOs
> (whoever thinks differently has probably never looked at perf while a very
> fast raid system was writing data), and as much as possible not perform
> memcopy, and would need to detect and skip sequential I/O (adding logic to
> still be safe on sync + power loss) and use writethrough for that which I
> think it also doesn't do. These are absolute requirements for high
> performance storage systems in the 2-20 gigabytes per second range. If Akira
> doesn't see the need to not perform memcpy or not split BIOs or not skip
> sequential I/O it is most certainly because he hasn't tried to build a high
> performance storage system. Unfortunately I think that high performance
> storage systems are indeed the main market for writeboost, so that's why
> these things are needed.
>
> Another important missing feature is  way to decommission writeboost or put
> it into writethrough mode, so to be able to snapshot the underlying device.
> This is totally needed in an industrial-grade production system.
>
> OTOH read caching would have been useless for writeboost btw imho, and hence
> counterproductive. Layer dm-cache or bcache on top of writeboost if you need
> that.
>
>
> S.
>
> --
> dm-devel mailing list
> dm-devel at redhat.com
> https://www.redhat.com/mailman/listinfo/dm-devel




More information about the dm-devel mailing list