From: Ryusuke Konishi <konishi.ryusuke-Zyj7fXuS5i5L9jVzuh4AOg@public.gmane.org>
To: dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org
Cc: linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: Split some metadata onto separate device?
Date: Sat, 04 Jun 2011 02:26:21 +0900 (JST) [thread overview]
Message-ID: <20110604.022621.01482278.ryusuke@osrg.net> (raw)
In-Reply-To: <201106031229.38758.dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
Hi dexen,
On Fri, 3 Jun 2011 12:29:33 +0200, dexen deVries wrote:
> Hi list,
>
> back when I was using XFS, there was an option to put one particular piece of
> metadata -- the journal -- onto separate physical device. The speed-up was
> very significant, especially for operations on lots of files. For example, with
> external journal removing whole kernel source tree on XFS would take less time
> than on ext2 or ext3; with internal it would be much longer than ext2 or 3.
>
> The journal was needed only in case of unclean unmount, as only then it
> contained any information not applied yet; if the unmount was clean, the
> journal contained no important information.
>
> XFS journals only metadata changes, btw.
>
>
> My question is, would it be feasible to move some part of NILFS2 metadata onto
> separate device for R/W/GC speed-up?
>
> Perhaps some of metadata could even be considered `recoverable' -- that is, if
> the other device gets broken or lost, the metadata on it could be re-
> constructed from content of the main device.
NILFS2 is a log-structured filesystem and that means the filesystem
itself is a big journal. My understanding is using separate journal
device has no merit of performance.
On the other hand, We may be able to speed up the filesystem by
putting DAT (disk address translation) metadata to a separate device.
I mean putting a full copy of the DAT metadata on the sperate device
instead of journal of it.
The DAT is referred to every time an off-cache block is read from the
disk, and is updated every time we overwrite or create some disk
blocks. Even though the DAT is just a table data, the current NILFS2
uses b-tree for its lookup and writes them in a log like manner.
This is meaningless from engineering perspective and decreasing
performance due to fragmentation.
The same is true of SUFILE and CPFILE metadata, where the former is
keeping matadata of segment usage state, and the latter, checkpoint
list.
Putting original of these metadata on a separate device and journaling
it in the NILFS partition would have performance merits.
But, I think we have other approaches to think about before that with
regard to performance improvement. For example, applying "extent" to
DAT seems much more effective.
Thanks,
Ryusuke Konishi
> Regards,
> --
> dexen deVries
>
> [[[↓][→]]]
>
> For example, if the first thing in the file is:
> <?kzy irefvba="1.0" rapbqvat="ebg13"?>
> an XML parser will recognize that the document is stored in the traditional
> ROT13 encoding.
>
> (( Joe English, http://www.flightlab.com/~joe/sgml/faq-not.txt ))
> --
> To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
next prev parent reply other threads:[~2011-06-03 17:26 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-06-03 10:29 Split some metadata onto separate device? dexen deVries
[not found] ` <201106031229.38758.dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-06-03 17:26 ` Ryusuke Konishi [this message]
[not found] ` <20110604.022621.01482278.ryusuke-sG5X7nlA6pw@public.gmane.org>
2011-06-03 17:42 ` dexen deVries
[not found] ` <201106031942.29133.dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-06-08 12:48 ` Ryusuke Konishi
[not found] ` <20110608.214852.237935973.ryusuke-sG5X7nlA6pw@public.gmane.org>
2011-06-08 12:58 ` Ryusuke Konishi
[not found] ` <20110608.215803.224753719.ryusuke-sG5X7nlA6pw@public.gmane.org>
2011-06-08 13:08 ` dexen deVries
[not found] ` <201106081508.39345.dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2011-06-08 13:49 ` Ryusuke Konishi
[not found] ` <20110608.224906.85409768.ryusuke-sG5X7nlA6pw@public.gmane.org>
2011-06-14 11:18 ` Reinoud Zandijk
[not found] ` <20110614111852.GA1263-bVHBekiX4bNgoMqBc1r0ESegHCQxtGRMHZ5vskTnxNA@public.gmane.org>
2011-06-14 13:18 ` Ryusuke Konishi
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=20110604.022621.01482278.ryusuke@osrg.net \
--to=konishi.ryusuke-zyj7fxus5i5l9jvzuh4aog@public.gmane.org \
--cc=dexen.devries-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \
--cc=linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
/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