RE: wip-enc-dec

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

 



On Fri, 19 Aug 2016, Allen Samuels wrote:
> While we've been focusing the encode/decode optimization around 
> bluestore. I'm eager to see what these new schemes will do for things on 
> the wire. Our old performance measurements (back in the E/F timeframe) 
> showed that wire-oriented serialization/deserialization was a 
> significant CPU hog too.

Yes!  :)

s

> Just something to get around to once we stabilize what we're going to do 
> in this area.
> 
> 
> Allen Samuels
> SanDisk |a Western Digital brand
> 2880 Junction Avenue, San Jose, CA 95134
> T: +1 408 801 7030| M: +1 408 780 6416
> allen.samuels@xxxxxxxxxxx
> 
> 
> > -----Original Message-----
> > From: Mark Nelson [mailto:mnelson@xxxxxxxxxx]
> > Sent: Thursday, August 18, 2016 7:41 PM
> > To: Varada Kari <Varada.Kari@xxxxxxxxxxx>; Samuel Just
> > <sjust@xxxxxxxxxx>; Allen Samuels <Allen.Samuels@xxxxxxxxxxx>
> > Cc: ceph-devel@xxxxxxxxxxxxxxx; Weil, Sage <sweil@xxxxxxxxxx>
> > Subject: Re: wip-enc-dec
> > 
> > Hi Varada,
> > 
> > FWIW, here's my branch where I've been playing with using safe_appenders
> > in the existing bluestore encoding scheme:
> > 
> > https://github.com/markhpc/ceph/tree/wip-bluestore-append
> > 
> > Looks like it's going to be pretty advantageous to use a big appender to
> > encode as much of the blob as possible.  It's making a pretty substantial
> > difference, at least with ou
> > 
> > Mark
> > 
> > On 08/18/2016 09:03 PM, Varada Kari wrote:
> > > Hi Sam,
> > >
> > > Here is some wip code on the new approach proposed by Allen.
> > >
> > > https://github.com/varadakari/ceph/commits/wip-enc-dec
> > >
> > > we are using a raw buffer which has all the encoded data and absorbed
> > > into bufferlist once completed.
> > > It pretty much has all the containers and primitive types support.
> > > Working on some more optimizations on
> > > the bluestore end to reduce the onode size along with blob map, but
> > > they are wrapped in BlueStore.* files.
> > > enc_dec.h and test_enc_dec.cc contains the logic.
> > >
> > > Haven't tired with the safe and unsafe appenders yet.
> > >
> > > Varada
> > >
> > > On Friday 19 August 2016 05:44 AM, Samuel Just wrote:
> > >> Here's a beginning on what that might look like:
> > >> https://github.com/athanatos/ceph/commits/wip-sam-enc-dec-proto
> > >>
> > >> The design mostly comes from Allen/Varada's approach, but it uses
> > >> unsafe_appender (I don't really feel strongly about that, Sage
> > >> indicated that just using a raw pointer would probably be faster).
> > >> The important part is that the top two commits above convert all
> > >> primitive types as well as vector and pair (provided that their
> > >> templated types support the new machinery).  This means that
> > >> vector<int> should be able to preallocate and use unsafe_appender for
> > >> all existing users.  I think it's worth going to some effort to make
> > >> it easy to convert over existing users.
> > >> -Sam
> > >>
> > >> On Thu, Aug 18, 2016 at 10:35 AM, Allen Samuels
> > >> <Allen.Samuels@xxxxxxxxxxx> wrote:
> > >>> No reason not to merge them.
> > >>>
> > >>>
> > >>> Allen Samuels
> > >>> SanDisk |a Western Digital brand
> > >>> 2880 Junction Avenue, San Jose, CA 95134
> > >>> T: +1 408 801 7030| M: +1 408 780 6416 allen.samuels@xxxxxxxxxxx
> > >>>
> > >>>
> > >>>> -----Original Message-----
> > >>>> From: Samuel Just [mailto:sjust@xxxxxxxxxx]
> > >>>> Sent: Thursday, August 18, 2016 9:43 AM
> > >>>> To: Allen Samuels <Allen.Samuels@xxxxxxxxxxx>; Varada Kari
> > >>>> <Varada.Kari@xxxxxxxxxxx>; ceph-devel@xxxxxxxxxxxxxxx
> > >>>> Subject: wip-enc-dec
> > >>>>
> > >>>> Is there a reason not to put this new machinery directly into
> > encoding.h?  The
> > >>>> new machinery seems to be sufficient to implement the existing
> > ::encode
> > >>>> and ::decode types and should be compatible, right?
> > >>>> With the containers, we can use template trickery to also forward the
> > new
> > >>>> functions when present in the mapped types.  That would let us
> > gradually
> > >>>> adapt the code base.
> > >>>> -Sam
> > >
> > > PLEASE NOTE: The information contained in this electronic mail message is
> > intended only for the use of the designated recipient(s) named above. If the
> > reader of this message is not the intended recipient, you are hereby notified
> > that you have received this message in error and that any review,
> > dissemination, distribution, or copying of this message is strictly prohibited. If
> > you have received this communication in error, please notify the sender by
> > telephone or e-mail (as shown above) immediately and destroy any and all
> > copies of this message in your possession (whether hard copies or
> > electronically stored copies).
> > > --
> > > 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
> 
> 
--
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