Feature #9953
osd: efficient ObjectStore::Transaction encoding
% Done:
0%
Source:
other
Tags:
Backport:
Reviewed:
Affected Versions:
Pull request ID:
Description
Haomai and Dong proposed a vastly improved Transaction encoding during CDS. Video is here:
https://www.youtube.com/watch?v=8uYRDYdMywA&feature=youtu.be
Highlights:
- fixed-size struct for each op
- everything else is offset into a single bufferlist where variable-length bits accumulate
- very little data copying during encode/decode.
Comments from session:
http://pad.ceph.com/p/hammer-osd_transaction_encoding
- use __le64, __le32 types
- pointers directly into the bufferlist so there is no copy needed
- need bufferlist method to ensure the next X bytes are contiguously allocated; reallocate (probably just) that section if necessary (#9954)
Related issues
History
#1 Updated by Sage Weil over 9 years ago
- Description updated (diff)
- Assignee set to Haomai Wang
#2 Updated by Sage Weil over 9 years ago
- Target version deleted (
0.90)
#3 Updated by Haomai Wang over 9 years ago
#4 Updated by Sage Weil over 9 years ago
haomai's slides
#5 Updated by Sage Weil over 9 years ago
- Target version set to v.actually91
#6 Updated by Sage Weil over 9 years ago
- Status changed from New to In Progress
#7 Updated by Sage Weil over 9 years ago
- Status changed from In Progress to 7
#8 Updated by Sage Weil over 9 years ago
- Target version changed from v.actually91 to v0.92
#9 Updated by Sage Weil about 9 years ago
- Status changed from 7 to Resolved