Re: wip-enc-dec

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

 



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



[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