All the mail mirrored from lore.kernel.org
 help / color / mirror / Atom feed
* question about ec partial read in a single stripe
@ 2017-11-09 11:10 zengran zhang
  2017-11-09 12:50 ` zengran zhang
  2017-11-09 14:30 ` Sage Weil
  0 siblings, 2 replies; 3+ messages in thread
From: zengran zhang @ 2017-11-09 11:10 UTC (permalink / raw
  To: ceph-devel

Hi all:
    we found that partial read will cause full stripe read  in now ec
impl, for example:
    we have 4 chunks per stripe, 4K size per chunks and 16K per
stripe, when we read rand 2K in a stripe,the reads
will amplify to full stripe(16K +8K(Parity))..

    i did not see any checksum or buffer  related factor except the ec
extentcache.does the extentcache is the purpuse of the mechanism?
now we want increase the stripe width to improve the small random raed
performance, but the mechanism limit the result...

    best regards!

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: question about ec partial read in a single stripe
  2017-11-09 11:10 question about ec partial read in a single stripe zengran zhang
@ 2017-11-09 12:50 ` zengran zhang
  2017-11-09 14:30 ` Sage Weil
  1 sibling, 0 replies; 3+ messages in thread
From: zengran zhang @ 2017-11-09 12:50 UTC (permalink / raw
  To: ceph-devel

i found a discuss on two years ago
(http://permalink.gmane.org/gmane.comp.file-systems.ceph.devel/23872)
and a pr commited by

XinzeChi(https://github.com/ceph/ceph/pull/4467)...

2017-11-09 19:10 GMT+08:00 zengran zhang <z13121369189@gmail.com>:
> Hi all:
>     we found that partial read will cause full stripe read  in now ec
> impl, for example:
>     we have 4 chunks per stripe, 4K size per chunks and 16K per
> stripe, when we read rand 2K in a stripe,the reads
> will amplify to full stripe(16K +8K(Parity))..
>
>     i did not see any checksum or buffer  related factor except the ec
> extentcache.does the extentcache is the purpuse of the mechanism?
> now we want increase the stripe width to improve the small random raed
> performance, but the mechanism limit the result...
>
>     best regards!

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: question about ec partial read in a single stripe
  2017-11-09 11:10 question about ec partial read in a single stripe zengran zhang
  2017-11-09 12:50 ` zengran zhang
@ 2017-11-09 14:30 ` Sage Weil
  1 sibling, 0 replies; 3+ messages in thread
From: Sage Weil @ 2017-11-09 14:30 UTC (permalink / raw
  To: zengran zhang; +Cc: ceph-devel

On Thu, 9 Nov 2017, zengran zhang wrote:
> Hi all:
>     we found that partial read will cause full stripe read  in now ec
> impl, for example:
>     we have 4 chunks per stripe, 4K size per chunks and 16K per
> stripe, when we read rand 2K in a stripe,the reads
> will amplify to full stripe(16K +8K(Parity))..

Right.

>     i did not see any checksum or buffer  related factor except the ec
> extentcache.does the extentcache is the purpuse of the mechanism?
> now we want increase the stripe width to improve the small random raed
> performance, but the mechanism limit the result...

This is definitely an improvement we're interested in.  I don't remember 
what the issue with the previous PR was, but it appears to predate the EC 
overwrites work (which merged about a year ago), so it will certainly need 
to be reimplemented.  The extentcache is there to support the 
read/modify/write behavior for sub-stripe overwrites. Whatever we do for 
small substripe reads will need to cooperate with that cache.

If you're interested in tackling this, that would be fantastic!

sage

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-11-09 14:30 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-09 11:10 question about ec partial read in a single stripe zengran zhang
2017-11-09 12:50 ` zengran zhang
2017-11-09 14:30 ` Sage Weil

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.