From: Chris Mason <mason@suse.com>
To: Hans Reiser <reiser@namesys.com>
Cc: Oleg Drokin <green@namesys.com>, reiserfs-list@namesys.com
Subject: Re: [PATCH] various allocator optimizations
Date: 11 Mar 2003 17:25:52 -0500 [thread overview]
Message-ID: <1047421551.8219.448.camel@tiny.suse.com> (raw)
In-Reply-To: <3E6E584D.4080809@namesys.com>
On Tue, 2003-03-11 at 16:42, Hans Reiser wrote:
> Chris, don't you think the right answer would be to take zam's resizer
> and make a defragmenter out of it?
Yes and no, for a defrag program to fix things we'd have to agree on an
optimal layout ;-) Also it assumes the machine has idle time when a
defragment cycle is possible. For many servers this is entirely
untrue...the oracle boxes I ran didn't have a spare second for something
like a defrag.
We can all agree that fragmentation is bad, but the real question is how
do we group the blocks. Lets pretend for a minute that fragmentation
isn't an issue at all, and our allocator is perfect.
The optimal grouping for reading/writing files is to have the files you
are going to read/write together in the same area of the disk.
The current default uses the start of the disk as a starting point for
each new file. This roughly translates to files that are created
together end up in the same part of the disk. As long as you always
access files in roughly the same order that you create them, it performs
pretty well.
But if a process creates dirA/file1 and then dirB/file2, file1 and file2
are going to be together on the disk. If file1 tends to be used along
with all the other files in dirA, performance will suffer because we've
got to seek from all the other files in dirA over to file1.
And this is what we see over time, our performance decreases as people
add files onto their directories and shift things around. Especially on
multi-user systems files are rarely accessed in the same order they were
created.
What we need is a knob for the admin to use to suggest 'I'm probably
going to access these files together'. The only one I can think if is
the directory itself, but it isn't optimal either since subdirectories
are frequently accessed with their parents and with other subdirs.
-chris
next prev parent reply other threads:[~2003-03-11 22:25 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2003-03-11 16:34 [PATCH] various allocator optimizations Chris Mason
2003-03-11 16:42 ` Oleg Drokin
2003-03-11 17:32 ` Chris Mason
2003-03-11 18:04 ` Oleg Drokin
2003-03-11 19:00 ` Chris Mason
2003-03-11 21:51 ` Hans Reiser
2003-03-11 21:42 ` Hans Reiser
2003-03-11 22:25 ` Chris Mason [this message]
2003-03-11 22:39 ` Anders Widman
2003-03-11 22:54 ` Hans Reiser
2003-03-11 23:19 ` Anders Widman
2003-03-12 7:15 ` Oleg Drokin
2003-03-11 22:46 ` Hans Reiser
2003-03-12 1:48 ` Chris Mason
2003-03-12 7:12 ` Oleg Drokin
2003-03-12 13:31 ` Chris Mason
2003-03-12 14:00 ` Hans Reiser
2003-03-12 14:05 ` Oleg Drokin
2003-03-12 14:08 ` Hans Reiser
2003-03-12 14:17 ` Oleg Drokin
2003-03-12 19:22 ` Hans Reiser
2003-03-13 6:11 ` Oleg Drokin
2003-03-13 12:06 ` Hans Reiser
2003-03-13 12:10 ` Oleg Drokin
2003-03-12 11:12 ` Hans Reiser
2003-03-12 13:35 ` Chris Mason
2003-03-12 14:03 ` Hans Reiser
2003-03-12 7:14 ` Oleg Drokin
2003-03-12 19:57 ` Chris Mason
2003-03-12 20:51 ` Hans Reiser
2003-03-13 15:59 ` Chris Mason
2003-03-14 0:15 ` Hans Reiser
2003-03-14 1:34 ` Chris Mason
2003-03-14 10:26 ` Hans Reiser
2003-03-14 13:51 ` Chris Mason
2003-03-14 18:59 ` Hans Reiser
2003-03-14 20:40 ` Chris Mason
2003-03-14 13:59 ` Manuel Krause
2003-03-14 14:10 ` Chris Mason
2003-03-16 16:25 ` Anders Widman
2003-08-18 16:15 ` Hans Reiser
2003-08-18 16:20 ` Yury Umanets
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=1047421551.8219.448.camel@tiny.suse.com \
--to=mason@suse.com \
--cc=green@namesys.com \
--cc=reiser@namesys.com \
--cc=reiserfs-list@namesys.com \
/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.