Re: Cache Layer on NVME driver

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Rajath!

Great to hear you're interested in working with us outside of GSoC!

On Wed, 18 May 2016, Haomai Wang wrote:
> Hi Rajath,
> 
> We are glad to see your passion, from my view, sage is planning to
> implement a userspace cache in bluestore itself. Like
> (https://github.com/ceph/ceph/commit/b9ac31afe5a162176f019baa25348014a77f6ab8#commitcomment-17488250).
> 
> I guess the cache won't be a generic cache interface. Instead it will
> be bound to specified needed object. So sage may give a brief?

Part of the reason why this project wasn't at the top of our list (we got 
fewer slots than we had projects) was because the BlueStore code is in 
flux and moving quite quickly.  For the BlueStore side, we are building a 
simple buffer cache that is tied to an Onode (in-memory per-object 
metadata structure) and integrated tightly with the read and write IO
paths.  This will eliminate our use of the block device buffer cache for 
user/object data.

The other half of the picture, though, is the BlueFS layer that is 
consumed by rocksdb: it also needs caching in order for rocksdb to perform 
at all.  My hope is that the code we write for the use data can be re-used 
here as well, but it is still evolving.

The main missing piece I'd say is a way to string Buffer objects together 
in a global(ish) LRU (or set of LRUs, or whatever we need for the caching 
policy that makes sense) so that trimming can be done safely and 
efficiently.  Right now the code is lock-free because each Onode is only 
touched under the collection rwlock, but in order to do trimming we need 
to be able to reap cold buffers from a global context.

Anyway, there is no clear or ready answer here yet, but we are ready to 
discuss design/approach here on the list, and welcome your input (and 
potentially, contributions to development!).

sage


> 
> On Wed, May 18, 2016 at 9:32 PM, Haomai Wang <haomai@xxxxxxxx> wrote:
> >
> >
> > On Wed, May 18, 2016 at 2:44 PM, Rajath Shashidhara
> > <rajath.shashidhara@xxxxxxxxx> wrote:
> >>
> >> Hello,
> >>
> >> I was a GSoC'16 applicant for the project "Implementing Cache layer on
> >> top of NVME Driver". Unfortunately, I was not selected for the
> >> internship.
> >
> >
> > Hi Rajath,
> >
> > We are glad to see your passion, from my view, sage is planning to implement
> > a userspace cache in bluestore itself. Like
> > (https://github.com/ceph/ceph/commit/b9ac31afe5a162176f019baa25348014a77f6ab8#commitcomment-17488250).
> >
> > I guess the cache won't be a generic cache interface. Instead it will be
> > bound to specified needed object. So sage may give a brief?
> >
> >>
> >>
> >> However, I would be interested in working on the project as an
> >> independent contributor to Ceph.
> >> I am expecting to receive the necessary support from Ceph developer
> >> community.
> >>
> >> In case I missed out any important details in my project proposal or I
> >> have the wrong understanding of the project, please help me figure out
> >> the details.
> >>
> >> Looking forward to contribute!
> >>
> >> Thank you,
> >> Rajath Shashidhara
> >
> >
> --
> To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [CEPH Users]     [Ceph Large]     [Information on CEPH]     [Linux BTRFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux