Re: Performance about nilfs2 for SSD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
On Sat, 25 Sep 2010 18:54:04 -0400, Yuehai Xu wrote:
> Hi,
> 
> I have a SSD which is Intel x25-v, I use it to test the performance of
> different file systems. The results seems confusing to me. It is from
> postmark in which I set file number to 50,000 with each size from 9216
> bytes to 15360 bytes
> 
> 	EXT3	NILFS2	BTRFS	EXT4	XFS	REISERFS	EXT2					
> PostMark(R)	146.67Kb/s  52.21Kb/s	90.59Kb/s	
> 172.12Kb/s	60.39Kb/s	146.67Kb/s	83.25Kb/s
> PostMark(W)	28.09Mb/s	10Mb/s	17.35Mb/s	31.04Mb/s	11.56Mb/s	28.09Mb/s	15.94Mb/s
> 
> From the results, the throughput both for R/W of NILFS2 is much
> smaller than EXT3. As I noticed that the performance of NILFS2 for SSD
> is much better than other file systems from the web site. What's the
> matter with my own test result? My kernel is 2.6.32, and I use default
> way to format NILFS2, nothing special is done. So, my questions are:
> 
> 1. Are there any special parameters that I need to configure when I
> mount/format my SSD?

Nilfs in latest kernels have "discard" mount option, but I think
it won't change the above result dramatically.

> 2. Is the performance much different from different kind of SSD?
> 3. As I know, NILFS2 is a kind of Log-file system, which means it
> always makes the random writes sequentially and tries to avoid the
> cost of overwrite for SSD. Does it need to overwrite its meta data?
> Since I think NILFS2 should always make a mapping table, how about
> when the mapping table need to be updated?

For older SSD drives, it may be true.

But, recent intelligent SSD drives are doing LFS like optimizations
internally, so I guess they would show similar trend.

Unfortunately NILFS2 has performance issue due to its DAT and Garbage
Collection design, and it seems to be hurting the merit of LFS for
such high-throughput devices.

DAT is metadata which is used to convert indirect block addresses
(called virtual block number) to real block addresses.  This makes
relocation of disk blocks possible, but at the same time, it makes
latency of disk access double against blocks read first time.

To mitigate this design drawback, nilfs is applying readahead for such
metadata, but it has much room for tuning.  For instance, I recently
sent some patches to improve read performance on intel SSD for 2.6.36.

For details on the metadata organization and disk address conversion
of NILFS2, please see the slides:

  http://www.nilfs.org/papers/jls2009-nilfs.pdf

A link page ( http://www.nilfs.org/en/links.html ) has some more
related links.

> 4. What's special has done to optimize the performance of SSD? I guess
> Log-file systems might have better performance than fast file systems
> such as EXT2/3, but at least right now the results shows that I was
> wrong.

As I wrote above, recent SSD drives adopt own LFS like optimization,
and the performance characteristics are greatly affected by it.  It's
well explained in the following article:

  http://lwn.net/Articles/353411/


Regards,
Ryusuke Konishi
--
To unsubscribe from this list: send the line "unsubscribe linux-nilfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux BTRFS]     [Linux CIFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux