Project

General

Profile

Feature #9953

osd: efficient ObjectStore::Transaction encoding

Added by Sage Weil over 9 years ago. Updated about 9 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
-
Target version:
% 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)

02.Transaction Memory Layout For FileStore.pptx (99.8 KB) Haomai Wang, 10/30/2014 07:12 PM

02.Transaction Memory Layout For FileStore.pptx (99.8 KB) Sage Weil, 10/30/2014 08:26 PM


Related issues

Blocked by Ceph - Feature #9954: buffer: method to ensure an extent is contiguous Resolved

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)

#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

Also available in: Atom PDF