mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Steve Lord <lord@sgi.com>
To: Andrew Morton <akpm@zip.com.au>
Cc: Ben Israel <ben@genesis-one.com>, linux-kernel@vger.kernel.org
Subject: Re: File System Performance
Date: 12 Nov 2001 14:06:23 -0600	[thread overview]
Message-ID: <1005595583.13307.5.camel@jen.americas.sgi.com> (raw)
In-Reply-To: <3BF02702.34C21E75@zip.com.au>
In-Reply-To: <00b201c16b81$9d7aaba0$5101a8c0@pbc.adelphia.net> <3BEFF9D1.3CC01AB3@zip.com.au> <00da01c16ba2$96aeda00$5101a8c0@pbc.adelphia.net>  <3BF02702.34C21E75@zip.com.au>

On Mon, 2001-11-12 at 13:46, Andrew Morton wrote:
> Ben Israel wrote:
> > 
> > Andrew
> > 
> >  Thank you very much for your response. I would like to know what ever I can
> > about File Systems that achieve near Raw Disk Transfer Speeds on large file
> > system modifications.
> 
> This is very filesystem-dependent.   Probably the XFS mailing list
> linux-xfs@oss.sgi.com is the place to ask for XFS.
> 
> > What does the "Orlov allocator" do differently?
> 
> 
> The Orlov algorithm (or at least Al's version of it) tries to
> spread top-level directories evenly across the partition, under
> the assumption that these contain unrelated information.  But for
> directories at a lower level, it is more aggressive about placing
> directories in the same block group as their parent.   It _will_
> move into a different block group, but only when it sees that the
> current one is filling up.

XFS does something similar to this - the filesystem is split into
'allocation groups' these are independent chunks of upto 4 Gbytes
of disk space. By default a directory is placed in a different
allocation group than it's parent, file inodes are placed in the
same allocation group - preferably 'close' to the directory inode,
file data also prefers the same allocation group as the inode.

This all works OK when the filesystem is not bursting at the seams,
and when there is some correspondence between logical block numbers
in the filesystem and physical drives underneath. I believe that once
you get into complex filesystems using raid devices and smart caching
drives it gets very hard for the filesystem to predict anything 
about latency of access for two blocks which it things are next
to each other in the filesystem.

> 
> > All File Systems I've used have this problem. XFS is
> > just supposedly high performance. It offers some improvement, but is still
> > off by a factor of 4.
> 

XFS on Irix can reach disk speeds, but for a limited set of workloads,
i.e. direct I/O into preallocated space. 

Looking at your original benchmark:

hdparm -t /dev/hda

/dev/hda:
 Timing buffered disk reads:  64 MB in  2.71 seconds = 23.62 MB/sec

time cp -r /usr/src/linux-2.4.6 tst

real 0m47.376s
user 0m0.180s
sys 0m2.710s

du -bs tst
144187392 tst

Actual Performance
2*144MB/48s=6MB/sec

There is a lot of difference between doing a raw read of data from
the device, and copying a large directory tree. The raw read is
purely sequential, the tree copy is basically random access since
the kernel is being asked to read and then write a lot of small 
chunks of disk space.

Steve

-- 

Steve Lord                                      voice: +1-651-683-3511
Principal Engineer, Filesystem Software         email: lord@sgi.com

  parent reply	other threads:[~2001-11-12 20:11 UTC|newest]

Thread overview: 44+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-11-12 13:54 Ben Israel
2001-11-12 16:33 ` Andrew Morton
2001-11-12 17:50   ` Ben Israel
2001-11-12 19:46     ` Andrew Morton
2001-11-12 19:59     ` Richard Gooch
2001-11-12 23:07       ` Mike Fedyk
2001-11-13  0:04       ` Richard Gooch
2001-11-13  0:08         ` Mike Fedyk
2001-11-13  0:26         ` Richard Gooch
2001-11-13  0:47           ` Mike Castle
2001-11-13  1:28           ` Mike Fedyk
2001-11-13  6:34           ` Richard Gooch
2001-11-13 20:56             ` Andreas Dilger
2001-11-13  7:45         ` Andreas Dilger
2001-11-12 20:06     ` Steve Lord [this message]
2001-11-12 20:41       ` Andrew Morton
2001-11-13  0:17         ` Andreas Dilger
2001-11-13  0:40           ` Peter J . Braam
2001-11-13 20:46             ` Andreas Dilger
2001-11-16 22:07               ` Peter J . Braam
2001-11-16 23:14                 ` Mike Fedyk
2001-11-12 21:27       ` Steve Lord
2001-11-12 21:43         ` Andrew Morton
2001-11-12 21:48           ` Linus Torvalds
2001-11-12 22:11             ` Lionel Bouton
2001-11-12 19:41               ` Gérard Roudier
2001-11-12 22:14               ` Linus Torvalds
2001-11-12 22:30                 ` Ragnar Kjørstad
2001-11-12 22:36                 ` Andrew Morton
2001-11-12 23:04                   ` Mike Castle
2001-11-13  9:56                     ` Peter Wächtler
2001-11-13  9:41                 ` Henning P. Schmiedehausen
2001-11-12 22:16             ` Andrew Morton
2001-11-12 22:32               ` Lionel Bouton
2001-11-12 22:45                 ` Alan Cox
2001-11-12 22:39               ` Alan Cox
2001-11-12 22:39                 ` Xavier Bestel
2001-11-12 22:46               ` Mike Castle
2001-11-12 22:26             ` Steve Lord
2001-11-12 21:45         ` Steve Lord
2001-11-12 21:53         ` Lionel Bouton
2001-11-12 16:40 ` Ben Israel
2001-11-12 17:29 ` Andrew Morton
2001-11-12 22:36 Grant Erickson

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=1005595583.13307.5.camel@jen.americas.sgi.com \
    --to=lord@sgi.com \
    --cc=akpm@zip.com.au \
    --cc=ben@genesis-one.com \
    --cc=linux-kernel@vger.kernel.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

all inboxes | Powered by JetHome®