* [benchmark] seek optimization
@ 2004-07-14 13:52 Szakacsits Szabolcs
2004-07-14 16:33 ` Guy
0 siblings, 1 reply; 10+ messages in thread
From: Szakacsits Szabolcs @ 2004-07-14 13:52 UTC (permalink / raw)
To: linux-fsdevel
Cc: reiserfs-list, linux-ntfs-dev, Marcel Hilzinger, Per Olofsson
Hello,
The test below wasn't intended to be a comprehensive evaluation of
filesystems' seek optimizations. The test method, as most others, might be
synthetic, nevertheless the tool used for the evaluation is also used to
solve real problems. But please don't make too general conclusions, if any
at all ;-)
Four set of tests were done: both cloning and imaging a large, fragmented
filesystem on both 2.4 and 2.6 kernels. The block allocation bitmap is
read and blocks in use are either copied to the exact places in a sparse
file (cloning) or the entire filesystem is streamed into an image where
the unused blocks are encoded (imaging). Considering strictly the output,
imaging requires no seek meanwhile the number of seeks could be optimized
to 0 during cloning.
Ntfsclone was chosen for the experiment, it can both clone and image into
a file. The source partitions was 8 GB and had 5 GB data scattered around.
The filesystems were always freshly recreated on the destination
partition. Both partitions were on the same disk. There were 3 runs for
each case, average taken. Deviation from average was always less then
0.5%. Sync()'s were always counted at the end of the runs.
In the below table "seek" refers to the cloning process, "noseek" to the
imaging. The "24" means 2.4.26 kernel ont the SystemRescueCD 0.2.14 and
"26" means 2.6.7 kernel on RIP 10.3. The "raw" means simple cloning
between two partitions (no filesystem on the destination partition).
The theoretical best result for 2.4 kernel is around 7:43 and for 2.6
kernel is around 8:05 minutes.
Results,
Fs_kernel_method usr sys real CPU
jfs_24_noseek 1.74 23.17 7:50.56 5%
reiser4_26_seek 1.81 36.66 8:06.12 7%
reiser4_26_noseek 2.02 46.75 8:08.72 9%
xfs_24_noseek 1.84 23.61 8:14.44 5%
ext2_24_noseek 1.58 20.92 8:15.28 4%
jfs_26_noseek 1.89 33.33 8:15.76 7%
ext2_24_seek 1.97 17.50 8:15.98 3%
raw_24_seek 1.65 17.88 8:17.69 3%
ext2_26_noseek 1.86 31.92 8:19.59 6%
xfs_26_noseek 1.92 33.70 8:20.48 7%
xfs_24_seek 1.72 20.77 8:25.17 4%
ext3_24_noseek 1.69 32.62 8:26.21 6%
raw_26_seek 1.80 33.49 8:27.02 6%
ext2_26_seek 1.80 29.77 8:27.29 6%
reiserfs_26_noseek 1.98 51.19 8:29.79 10%
reiserfs_26_seek 1.85 41.14 8:30.26 8%
ext3_24_seek 1.55 23.48 8:35.42 4%
xfs_26_seek 1.76 34.10 8:36.17 6%
ext3_26_noseek 1.92 39.83 8:37.38 8%
ext3_26_seek 1.84 35.55 8:43.41 7%
reiserfs_24_seek 1.71 28.20 8:50.02 5%
reiserfs_24_noseek 1.97 43.98 9:03.43 8%
jfs_24_seek 1.76 31.11 11:34.68 4%
jfs_26_seek 1.48 36.46 14:23.51 4%
Many interesting things can be noticed, I'd mention only two.
1. For this type of workload, 2.6 kernels clearly perform worse
than 2.4 kernels.
2. Reiser4's seek optimization is astonishing! It hits the problem
in the 2.6 kernels, that's its bottleneck. Apparently it also
optimized away all (or most of) the seeks: the theoretically seek
intensive run is faster than its seekless equivalent. How could
this be possible? If there were no (significant number of) seeks
then the seekless version has a minor overhead. The Reiser4 result
just shows this! Amazing!!!
Cheers,
Szaka
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [benchmark] seek optimization
2004-07-14 13:52 [benchmark] seek optimization Szakacsits Szabolcs
@ 2004-07-14 16:33 ` Guy
2004-07-14 16:46 ` Bryan Henderson
0 siblings, 1 reply; 10+ messages in thread
From: Guy @ 2004-07-14 16:33 UTC (permalink / raw)
To: 'Szakacsits Szabolcs', linux-fsdevel
Cc: reiserfs-list, linux-ntfs-dev, 'Marcel Hilzinger',
'Per Olofsson'
You said "both partitions were on the same disk." The poor disk must be
seeking like crazy! Any seeks related to the filesystem may be masked,
since a seek was going to occur any how.
Consider having the 2 partitions on 2 different disks!
Guy
-----Original Message-----
From: linux-fsdevel-owner@vger.kernel.org
[mailto:linux-fsdevel-owner@vger.kernel.org] On Behalf Of Szakacsits
Szabolcs
Sent: Wednesday, July 14, 2004 9:52 AM
To: linux-fsdevel@vger.kernel.org
Cc: reiserfs-list@namesys.com; linux-ntfs-dev@lists.sourceforge.net; Marcel
Hilzinger; Per Olofsson
Subject: [benchmark] seek optimization
Hello,
The test below wasn't intended to be a comprehensive evaluation of
filesystems' seek optimizations. The test method, as most others, might be
synthetic, nevertheless the tool used for the evaluation is also used to
solve real problems. But please don't make too general conclusions, if any
at all ;-)
Four set of tests were done: both cloning and imaging a large, fragmented
filesystem on both 2.4 and 2.6 kernels. The block allocation bitmap is
read and blocks in use are either copied to the exact places in a sparse
file (cloning) or the entire filesystem is streamed into an image where
the unused blocks are encoded (imaging). Considering strictly the output,
imaging requires no seek meanwhile the number of seeks could be optimized
to 0 during cloning.
Ntfsclone was chosen for the experiment, it can both clone and image into
a file. The source partitions was 8 GB and had 5 GB data scattered around.
The filesystems were always freshly recreated on the destination
partition. Both partitions were on the same disk. There were 3 runs for
each case, average taken. Deviation from average was always less then
0.5%. Sync()'s were always counted at the end of the runs.
In the below table "seek" refers to the cloning process, "noseek" to the
imaging. The "24" means 2.4.26 kernel ont the SystemRescueCD 0.2.14 and
"26" means 2.6.7 kernel on RIP 10.3. The "raw" means simple cloning
between two partitions (no filesystem on the destination partition).
The theoretical best result for 2.4 kernel is around 7:43 and for 2.6
kernel is around 8:05 minutes.
Results,
Fs_kernel_method usr sys real CPU
jfs_24_noseek 1.74 23.17 7:50.56 5%
reiser4_26_seek 1.81 36.66 8:06.12 7%
reiser4_26_noseek 2.02 46.75 8:08.72 9%
xfs_24_noseek 1.84 23.61 8:14.44 5%
ext2_24_noseek 1.58 20.92 8:15.28 4%
jfs_26_noseek 1.89 33.33 8:15.76 7%
ext2_24_seek 1.97 17.50 8:15.98 3%
raw_24_seek 1.65 17.88 8:17.69 3%
ext2_26_noseek 1.86 31.92 8:19.59 6%
xfs_26_noseek 1.92 33.70 8:20.48 7%
xfs_24_seek 1.72 20.77 8:25.17 4%
ext3_24_noseek 1.69 32.62 8:26.21 6%
raw_26_seek 1.80 33.49 8:27.02 6%
ext2_26_seek 1.80 29.77 8:27.29 6%
reiserfs_26_noseek 1.98 51.19 8:29.79 10%
reiserfs_26_seek 1.85 41.14 8:30.26 8%
ext3_24_seek 1.55 23.48 8:35.42 4%
xfs_26_seek 1.76 34.10 8:36.17 6%
ext3_26_noseek 1.92 39.83 8:37.38 8%
ext3_26_seek 1.84 35.55 8:43.41 7%
reiserfs_24_seek 1.71 28.20 8:50.02 5%
reiserfs_24_noseek 1.97 43.98 9:03.43 8%
jfs_24_seek 1.76 31.11 11:34.68 4%
jfs_26_seek 1.48 36.46 14:23.51 4%
Many interesting things can be noticed, I'd mention only two.
1. For this type of workload, 2.6 kernels clearly perform worse
than 2.4 kernels.
2. Reiser4's seek optimization is astonishing! It hits the problem
in the 2.6 kernels, that's its bottleneck. Apparently it also
optimized away all (or most of) the seeks: the theoretically seek
intensive run is faster than its seekless equivalent. How could
this be possible? If there were no (significant number of) seeks
then the seekless version has a minor overhead. The Reiser4 result
just shows this! Amazing!!!
Cheers,
Szaka
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [benchmark] seek optimization
2004-07-14 16:33 ` Guy
@ 2004-07-14 16:46 ` Bryan Henderson
2004-07-14 17:42 ` Szakacsits Szabolcs
0 siblings, 1 reply; 10+ messages in thread
From: Bryan Henderson @ 2004-07-14 16:46 UTC (permalink / raw)
To: Guy
Cc: linux-fsdevel, 'Marcel Hilzinger', 'Per Olofsson',
reiserfs-list, 'Szakacsits Szabolcs'
>Consider having the 2 partitions on 2 different disks!
It would also be nice to have no destination disk at all, to isolate the
effects of seek optimization in the source filesystem.
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [benchmark] seek optimization
2004-07-14 16:46 ` Bryan Henderson
@ 2004-07-14 17:42 ` Szakacsits Szabolcs
2004-07-14 20:11 ` Bryan Henderson
0 siblings, 1 reply; 10+ messages in thread
From: Szakacsits Szabolcs @ 2004-07-14 17:42 UTC (permalink / raw)
To: Bryan Henderson
Cc: Guy, linux-fsdevel, 'Marcel Hilzinger',
'Per Olofsson', reiserfs-list
On Wed, 14 Jul 2004, Bryan Henderson wrote:
> It would also be nice to have no destination disk at all, to isolate the
> effects of seek optimization in the source filesystem.
The mentioned theoretical best values had seeks neither in the source nor
in the destination. Sorry I forgot to explain.
Szaka
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [benchmark] seek optimization
2004-07-14 17:42 ` Szakacsits Szabolcs
@ 2004-07-14 20:11 ` Bryan Henderson
2004-07-14 21:56 ` Szakacsits Szabolcs
0 siblings, 1 reply; 10+ messages in thread
From: Bryan Henderson @ 2004-07-14 20:11 UTC (permalink / raw)
To: Szakacsits Szabolcs
Cc: Guy, linux-fsdevel, linux-fsdevel-owner,
'Marcel Hilzinger', 'Per Olofsson', reiserfs-list
>> It would also be nice to have no destination disk at all, to isolate
the
>> effects of seek optimization in the source filesystem.
>
>The mentioned theoretical best values had seeks neither in the source nor
>in the destination. Sorry I forgot to explain.
Not sure how that relates to my point. I'm saying that in the actual
experiment -- nothing theoretical -- if you're copying a file from source
to destination and watching how long it takes, you're seeing both how long
it takes to read and how long it takes to write (not to mention the ugly
interaction between the two if they're behind the same head and being done
by a single process). A simpler experiment where you copy a file from a
filesystem into oblivion would eliminate any seeks or other delays on the
write side and any interaction between the two and leave just the seeks on
the read side to measure.
And that information seems like it would be more useful. Many
applications simply read and use data; they don't copy it into another
file -- especially one that uses the same resources as the source file.
^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: [benchmark] seek optimization
2004-07-14 20:11 ` Bryan Henderson
@ 2004-07-14 21:56 ` Szakacsits Szabolcs
2004-07-15 5:50 ` Jens Axboe
0 siblings, 1 reply; 10+ messages in thread
From: Szakacsits Szabolcs @ 2004-07-14 21:56 UTC (permalink / raw)
To: Bryan Henderson
Cc: Guy, linux-fsdevel, 'Marcel Hilzinger',
'Per Olofsson', reiserfs-list
On Wed, 14 Jul 2004, Bryan Henderson wrote:
> A simpler experiment where you copy a file from a filesystem into
> oblivion would eliminate any seeks or other delays on the write side
> and any interaction between the two and leave just the seeks on the
> read side to measure.
The intention was to point out seek elimination on the writer side ;-)
> And that information seems like it would be more useful. Many
> applications simply read and use data; they don't copy it into another
> file
Sure, and many other different kind of tests would be more useful, too.
But this experiment wasn't about those. Instead to point out, by a
relatively common tool in a common environment, that
1) The seek elimination of Reiser4 is true and quite well measurable.
Also its seek optimization is much better than any other major
filesystem's optimization on Linux.
2) Apparently the 2.6 kernel's IO scheduler has a performance problem.
Szaka
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [benchmark] seek optimization
2004-07-14 21:56 ` Szakacsits Szabolcs
@ 2004-07-15 5:50 ` Jens Axboe
2004-07-15 10:34 ` Szakacsits Szabolcs
0 siblings, 1 reply; 10+ messages in thread
From: Jens Axboe @ 2004-07-15 5:50 UTC (permalink / raw)
To: Szakacsits Szabolcs
Cc: Bryan Henderson, Guy, linux-fsdevel, 'Marcel Hilzinger',
'Per Olofsson', reiserfs-list
On Wed, Jul 14 2004, Szakacsits Szabolcs wrote:
>
> On Wed, 14 Jul 2004, Bryan Henderson wrote:
>
> > A simpler experiment where you copy a file from a filesystem into
> > oblivion would eliminate any seeks or other delays on the write side
> > and any interaction between the two and leave just the seeks on the
> > read side to measure.
>
> The intention was to point out seek elimination on the writer side ;-)
>
> > And that information seems like it would be more useful. Many
> > applications simply read and use data; they don't copy it into another
> > file
>
> Sure, and many other different kind of tests would be more useful, too.
> But this experiment wasn't about those. Instead to point out, by a
> relatively common tool in a common environment, that
>
> 1) The seek elimination of Reiser4 is true and quite well measurable.
> Also its seek optimization is much better than any other major
> filesystem's optimization on Linux.
>
> 2) Apparently the 2.6 kernel's IO scheduler has a performance problem.
Which one did you test?
--
Jens Axboe
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [benchmark] seek optimization
2004-07-15 5:50 ` Jens Axboe
@ 2004-07-15 10:34 ` Szakacsits Szabolcs
2004-07-15 19:17 ` Szakacsits Szabolcs
0 siblings, 1 reply; 10+ messages in thread
From: Szakacsits Szabolcs @ 2004-07-15 10:34 UTC (permalink / raw)
To: Jens Axboe
Cc: Bryan Henderson, Guy, linux-fsdevel, 'Marcel Hilzinger',
'Per Olofsson', reiserfs-list
On Thu, 15 Jul 2004, Jens Axboe wrote:
> > 2) Apparently the 2.6 kernel's IO scheduler has a performance problem.
>
> Which one did you test?
The default in 2.6.7. It seems that one is the AS. I couldn't find any way
to query what the IO scheduler is on a running 2.6.7 or how to change it.
There were no 'elevator' boot time option given. All IO scheduler were
compiled in.
The other major suspect for the 2-3% 2.6 performance degradation is the
'block size = GCD(page size, device size)' change. AFAIR the value ended
up to be the minimal 512 for the destination device. The 'sys' times are
double without using any filesystems:
Fs_kernel_method usr sys real CPU
raw_24_seek 1.65 17.88 8:19.69 3%
raw_26_seek 1.80 33.49 8:27.02 6%
It might or might not be related.
Szaka
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [benchmark] seek optimization
2004-07-15 10:34 ` Szakacsits Szabolcs
@ 2004-07-15 19:17 ` Szakacsits Szabolcs
2004-07-15 19:45 ` David Masover
0 siblings, 1 reply; 10+ messages in thread
From: Szakacsits Szabolcs @ 2004-07-15 19:17 UTC (permalink / raw)
To: Jens Axboe
Cc: Bryan Henderson, Guy, linux-fsdevel, 'Marcel Hilzinger',
'Per Olofsson', reiserfs-list
On Thu, 15 Jul 2004, Szakacsits Szabolcs wrote:
> On Thu, 15 Jul 2004, Jens Axboe wrote:
>
> > > 2) Apparently the 2.6 kernel's IO scheduler has a performance problem.
> >
> > Which one did you test?
> >
> The default in 2.6.7. It seems that one is the AS.
The "deadline" elevator gave 1-2% worse results for all fs and 5% worse
result for the raw access than the "as" scheduler.
Szaka
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [benchmark] seek optimization
2004-07-15 19:17 ` Szakacsits Szabolcs
@ 2004-07-15 19:45 ` David Masover
0 siblings, 0 replies; 10+ messages in thread
From: David Masover @ 2004-07-15 19:45 UTC (permalink / raw)
To: Szakacsits Szabolcs
Cc: Jens Axboe, Bryan Henderson, Guy, linux-fsdevel,
'Marcel Hilzinger', 'Per Olofsson', reiserfs-list
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Uh oh. Which scheduler is best for reiser4? Advantages/disadvantages
if said scheduler is used with some other fs (UDFfs on CDRWs, anyone?)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.4 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org
iQIVAwUBQPbe13gHNmZLgCUhAQIdVw//UxiM8Y4XJC1U8h+2whMCYcDhpAsiRkqQ
0aAn8iMzv+QzYSo6uwRCvDy7iyY3PD+Z1t7/DDkFzNsaVoEWH1lg7vE7pYH9z7Vn
eS599CvECV10tuf+xg3j8+fJTiiK3YgcjnLqpcUDEa8YEQiXHz75IxhLRORntsyq
tcdDW7a8nsDKpdJI2RSrQyPTKjoMDtaREamrQhFC+qLpgorQ5c48uuX7lLMvS0l2
hc6ldI8dN9+5Sl4EtJUF304Z1Prtrqc98p1x80OhkJSqNW0JVG+8bMJ6dfiiwc3y
rDdyaSv3HFyCBinEX0GmKyFCXpvwYPbI3D8VtBW7HkSLG0+C4Mv0T2QCtAPE4Axm
oyj/N0qf/F3Ydb8z7IJRio80oOKfLU8pvOlLR7FkXfEbAWiFNVUXo2BQuy0O97Hh
YgKtXzdvezdVco13/M5JKsm2ghMGK2MrzVs17nV6+b8gBQ2B7o5uQ0ZgJ2MzAD3+
GHcSgGWOX1DEUe+oferVwaCALqsgEp1CFXyzkGzWdHsZ54psEDXKJ9iOarshYe9B
vrutQoIrRZ7i3zUhlDR0oeWIrNXHZ9M5HqiqL0fsZhO0WYJ6ukPp5Ru8n41pa4H9
44Ntr5bJni5Tt9BDWwmVOzGcZ+FtERL6QS6ZIZNrCMb9dhj+hnt0EJ+1/IZF+kbo
xA+dROthMaQ=
=H+gQ
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2004-07-15 19:45 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-14 13:52 [benchmark] seek optimization Szakacsits Szabolcs
2004-07-14 16:33 ` Guy
2004-07-14 16:46 ` Bryan Henderson
2004-07-14 17:42 ` Szakacsits Szabolcs
2004-07-14 20:11 ` Bryan Henderson
2004-07-14 21:56 ` Szakacsits Szabolcs
2004-07-15 5:50 ` Jens Axboe
2004-07-15 10:34 ` Szakacsits Szabolcs
2004-07-15 19:17 ` Szakacsits Szabolcs
2004-07-15 19:45 ` David Masover
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).