ceph encoding optimization

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

 



hi, all:

     I am focus on the cpu usage of ceph now. I find the struct (such
as pg_info_t , transaction and so on) encode and decode exhaust too
much cpu resource.

     For now, we should encode every member variable one by one which
calling encode_raw finally. When there are many members, we should
encode it many times. But I think, we could reduce some in some cases.

     For example , struct A { int a; int b; int c }; ceph would
encoding int a , and then encode int b , finally int c. But for this
case , we could calling bufferlist.append((char *)(&a), sizeof(A))
because there are not padding bytes in this struct.

     I use the above optimization, the cpu usage of object_stat_sum_t
encoding decrease from 0.5% to 0% (I could not see any using perf
tools).

     This is only a case, so I think we could do similar optimization
other struct. I think we should pay attention to the padding in
struct.

-- +
Regards,
xinze
--
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