From: David Arendt <admin-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
To: Jiro SEKIBA <jir-hfpbi5WX9J54Eiagz67IpQ@public.gmane.org>
Cc: Gordan Bobic <gordan-UpbECiGlrmGsTnJN9+BGXg@public.gmane.org>,
linux-nilfs-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: SSD and non-SSD Suitability
Date: Sat, 29 May 2010 09:50:29 +0200 [thread overview]
Message-ID: <4C00C745.6050903@prnet.org> (raw)
In-Reply-To: <87d3wf17vj.wl%jir-27yqGEOhnJbQT0dZR+AlfA@public.gmane.org>
Hi,
On 05/29/10 09:31, Jiro SEKIBA wrote:
> Hi,
>
> At Fri, 28 May 2010 10:50:31 +0100,
> Gordan Bobic wrote:
>
>> Jiro SEKIBA wrote:
>>
>>
>>> I haven't got any particular quantitative data by my own,
>>> so I'll write somewhat subjective opinion.
>>>
>> Thanks, I appreciate it. :)
>>
>>
>>>> I've got a somewhat broad question on the suitability of nilfs for
>>>> various workloads and different backing storage devices. From what I
>>>> understand from the documentation available, the idea is to always write
>>>> sequentially, and thus avoid slow random writes on old/naive SSDs. Hence
>>>> I have a few questions.
>>>>
>>>> 1) Modern SSDs (e.g. Intel) do this logical/physical mapping internally,
>>>> so that the writes happen sequentially anyway. Does nilfs demonstrably
>>>> provide additional benefits on such modern SSDs with sensible firmware?
>>>>
>>> In terms of writing performance, it may not have additional benefits I guess.
>>> However, it still have benefits with regard to continuous snapshots.
>>>
>> How does this compare with btrfs snapshots? When you say continuous,
>> what are the breakpoints between them?
>>
> I don't know well about btrfs, but I guess you can create a "snapshot"
> of current filesystem. You can not create yesterday's snapshot.
> While nilfs can do the trick :) to create snapshot of yesterday's
> filessytem state.
>
> Nilfs creates snapshots from checkpoints. Checkpoints are created
> automatically almost each time filesystem changed (it depends how frequently
> system changed). If you leave the checkpoints as its are, garbage collector
> will collect those as free diskspace. Until then, the checkpoints are
> reachable by making it as snapshot.
>
>
>
>>>> 2) Mechanical disks suffer from slow random writes (or any random
>>>> operation for that matter), too. Do the benefits of nilfs show in random
>>>> write performance on mechanical disks?
>>>>
>>> I think it may have benefits, for nilfs will write sequentially whatever
>>> data is located before writing it. But still some tweaks might be required
>>> to speed up compared with ordinary filsystem like ext3.
>>>
>> Can you quantify what those tweaks may be, and when they might become
>> available/implemented?
>>
> I might choose the wrong word, but what I meant is more hack is required
> to improve write performance. Not just configuration matters :(.
>
>
>>>> 3) How does this affect real-world read performance if nilfs is used on
>>>> a mechanical disk? How much additional file fragmentation in absolute
>>>> terms does nilfs cause?
>>>>
>>> The data is scattered if you modified the file again and again,
>>> but it'll be almost sequential at the creation time. So it will
>>> affect much if files are modified frequently.
>>>
>> Right. So bad for certain tasks, such as databases.
>>
> Indeed. maybe /var type of directories too.
>
>
>>>> 4) As the data gets expired, and snapshots get deleted, this will
>>>> inevitably lead to fragmentation, which will de-linearize writes as they
>>>> have to go into whatever holes are available in the data. How does this
>>>> affect nilfs write performance?
>>>>
>>> For now, my understanding, nilfs garbage collector moves the live (in use)
>>> blocks to the end of logs, so holes are not created (it is correct?).
>>> However, it leads another issue that garbage collector process, which is
>>> nilfs_cleanerd, will consume the I/O. This is major I/O performance
>>> bottle neck current implementation.
>>>
>> Since this moves files, it sounds like this could be a major issue for
>> flash media since it unnecessarily creates additional writes. Can this
>> be suppressed?
>>
> You can simply kill the nilfs_clearnerd after you mount the nilfs partition.
>
If you use the latest nilfs_utils, killing nilfs_cleanerd is no longer
necessary. You can use mount -o nogc. This will not start
nilfs_cleanerd. Another possibility is to let nilfs_cleanerd start and
tweak min_free_segments and max_free_segments so that cleanerd will only
do cleaning if necessary.
> This case, of course, any garbage is reclaimed and finally end up with
> disk full, even size of files don't occupy the storage size.
>
> I don't have data for now, but it made about twice better write performance
> compared with "with garbage collector".
>
> thanks,
>
> regards,
>
>
>>>> 5) How does the specific writing amount measure against other file
>>>> systems (I'm specifically interested in comparisons vs. ext2). What I
>>>> mean by specific writing amount is for writing, say, 100,000 random
>>>> sized files, how many write operations and MBs (or sectors) of writes
>>>> are required for the exact same operation being performed on nilfs and
>>>> ext2 (e.g. as measured by vmstat -d).
>>>>
>>> You can find public benchmark results at the following links.
>>> However those are a bit old and current results may differ.
>>>
>>> http://www.phoronix.com/scan.php?page=article&item=ext4_btrfs_nilfs2&num=1
>>> http://www.linux-mag.com/cache/7345/1.html
>>>
>> Thanks.
>>
>> Gordan
>> --
>> 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
>>
>>
>>
>>
>
>
>
>
Bye,
David Arendt
--
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:[~2010-05-29 7:50 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-05-26 10:18 SSD and non-SSD Suitability Gordan Bobic
[not found] ` <4BFCF55A.80205-UpbECiGlrmGsTnJN9+BGXg@public.gmane.org>
2010-05-28 6:29 ` Jiro SEKIBA
[not found] ` <87typspmiq.wl%jir-27yqGEOhnJbQT0dZR+AlfA@public.gmane.org>
2010-05-28 9:50 ` Gordan Bobic
[not found] ` <4BFF91E7.9000102-UpbECiGlrmGsTnJN9+BGXg@public.gmane.org>
2010-05-29 7:31 ` Jiro SEKIBA
[not found] ` <87d3wf17vj.wl%jir-27yqGEOhnJbQT0dZR+AlfA@public.gmane.org>
2010-05-29 7:50 ` David Arendt [this message]
[not found] ` <4C00C745.6050903-/LHdS3kC8BfYtjvyW6yDsg@public.gmane.org>
2010-05-29 8:45 ` Gordan Bobic
[not found] ` <4C00D433.2010406-UpbECiGlrmGsTnJN9+BGXg@public.gmane.org>
2010-05-29 8:56 ` David Arendt
2010-05-29 8:43 ` Gordan Bobic
[not found] ` <4C00D3B7.8060904-UpbECiGlrmGsTnJN9+BGXg@public.gmane.org>
2010-06-01 13:05 ` Jiro SEKIBA
2010-05-28 8:17 ` Vincent Diepeveen
[not found] ` <927E6E4B-B072-42EE-915A-FD34A88D478A-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2010-05-28 9:24 ` Gordan Bobic
[not found] ` <4BFF8BD6.7080802-UpbECiGlrmGsTnJN9+BGXg@public.gmane.org>
2010-05-28 10:15 ` Vincent Diepeveen
[not found] ` <72C0FCE6-CE1A-4262-B89F-A1C3CBA99EAD-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2010-05-28 10:44 ` Gordan Bobic
[not found] ` <4BFF9E74.6040900-UpbECiGlrmGsTnJN9+BGXg@public.gmane.org>
2010-05-28 12:33 ` Vincent Diepeveen
[not found] ` <BF3C6199-02BC-415A-B028-E856312FB2DD-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2010-05-28 13:36 ` Gordan Bobic
[not found] ` <4BFFC6FA.8010208-UpbECiGlrmGsTnJN9+BGXg@public.gmane.org>
2010-05-28 14:31 ` Vincent Diepeveen
[not found] ` <20C856F0-0CEB-45B9-A668-C07C89A7D338-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2010-05-28 15:36 ` Gordan Bobic
2010-05-28 12:45 ` Vincent Diepeveen
[not found] ` <A3BB0C84-D2BD-4119-9296-0A4D9FC02F19-qWit8jRvyhVmR6Xm/wNWPw@public.gmane.org>
2010-05-28 13:39 ` Gordan Bobic
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=4C00C745.6050903@prnet.org \
--to=admin-/lhds3kc8bfytjvyw6ydsg@public.gmane.org \
--cc=gordan-UpbECiGlrmGsTnJN9+BGXg@public.gmane.org \
--cc=jir-hfpbi5WX9J54Eiagz67IpQ@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 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.