linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Arne Jansen <sensille@gmx.net>
To: Liu Bo <liubo2009@cn.fujitsu.com>
Cc: WeiFeng Liu <weifeng.liu@hushmail.com>,
	linux-btrfs <linux-btrfs@vger.kernel.org>
Subject: Re: [RFC PATCH] Decrease Metadata Fragment By Using a Caterpillar Band Method(intro modified)
Date: Mon, 28 May 2012 10:06:32 +0200	[thread overview]
Message-ID: <4FC33208.1000600@gmx.net> (raw)
In-Reply-To: <4FC33A53.9050607@cn.fujitsu.com>

On 05/28/12 10:41, Liu Bo wrote:
> On 05/28/2012 02:06 PM, WeiFeng Liu wrote:
>
>> On Sunday, May 27, 2012 at 5:44 PM, Liu Bo<liubo2009@cn.fujitsu.com>  wrote:
>>
>>> Hi,
>>>
>>> Thanks for working on this.
>>>
>>> Do you have any performance number?
>>>
>>> The idea is an interesting one, but I have no idea if it really
>>> works, because blocks are
>>> still fragments:
>>>
>>> |   16k     |     16k   |    16k    |
>>> |----|A|----|----|B|----|----|C|----|
>>>
>>>
>>> Or am I missing something?
>>>
>>> thanks,
>>> liubo
>>>
>>
>> Hi, Liu Bo
>>
>> I noticed your graphic and what you said, "still fragments"
>> thanks you.
>>
>> According my patch's logic, any COWs for tree block A will be limited in it's
>> 16k caterpillar band in the example, at least theoretically, and so tree block
>> B, like the following:
>>
>> |<-- A circulated in 16k -->|   |<-- B circulated in 16k -->|
>> |--a-->|--b-->|--c-->|--d-->|   |--a-->|--b-->|--c-->|--d-->|
>> |                           |   |                           |
>> |-------------<-------------|   |-------------<-------------|
>>
>
>> 	Liu Bo, are the fragments you mentioned referenced to the ones in a caterpillar
>> or ones out of a caterpillar? if they are in a caterpillar, nothing would be
>> worried, because they are supposed to stay there forever, and that efficiency
>> is just what I want.
>>
>
>
> Yes, I refer to the space hole between A and B, which may not make readahead happy.
>
> But I'm not that sure, anyway, the performance number will tell us the truth :)

When using spinning drives, this will basically limit us to 1/4th of
platter speed, which is still quite a lot compared to random reads.

But there are more aspects to it. This patch assumes that the layout
that the trees takes on first write is a good one. I'm not sure this
is a valid assumption at all.
Another problem I see is that this loses us the big advantage that
in btrfs all metadata writes can happen sequentially, as all cowed
blocks can be allocated next to each other (as long as there's space).
So I expect writing tree updates to become much more costly.

All in all, in might be a strategy worth looking at in read-mostly
situations.
But again, the benchmarks might prove me wrong ;)

-Arne

>
> thanks,
> liubo
>
>> 	To a certain degree, using a caterpillar for a tree block is somewhat
>> similar with the way superblock runs, a superblock circularly updated in a
>> cluster of DISCONTINUOUS blocks within a large range, and I use a caterpillar
>> band to force a tree block updated circularly in a continuous blocks within a
>> compact area.
>>
>
>> Sorry, I haven't yet take performance test for my patch now, a bit more times
>> are still needed for me to check the possible bugs in code's routes before
>> tests, and any comments are welcome.
>>
>> Thanks all you.
>>
>> WeiFeng Liu
>> 523f28f9b3d9c710cacc31dbba644efb1678cf62
>>
>>
>
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html


  reply	other threads:[~2012-05-28 10:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-05-28  6:06 [RFC PATCH] Decrease Metadata Fragment By Using a Caterpillar Band Method(intro modified) WeiFeng Liu
2012-05-28  8:41 ` Liu Bo
2012-05-28  8:06   ` Arne Jansen [this message]
  -- strict thread matches above, loose matches on Subject: below --
2012-05-27 16:04 WeiFeng Liu
2012-05-28  1:49 ` Liu Bo

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4FC33208.1000600@gmx.net \
    --to=sensille@gmx.net \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=liubo2009@cn.fujitsu.com \
    --cc=weifeng.liu@hushmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).