From: Hans Reiser <reiser@namesys.com>
To: Chris Haynes <chris@harvington.org.uk>
Cc: ReiserFS <reiserfs-list@namesys.com>, mason <mason@namesys.com>
Subject: Re: what do you do that stresses your filesystem?
Date: Tue, 24 Dec 2002 12:36:06 +0300 [thread overview]
Message-ID: <3E082A86.8050501@namesys.com> (raw)
In-Reply-To: <002001c2aaa1$08650550$0200000a@ringo>
Chris Haynes, maybe as we bring atomic transactions into use we should
work with you to see if they address your needs.
Chris Mason, maybe you might want to comment on what he is doing with
threads and how it interacts with V3 journal commits? (I bet you are on
vacation though?)
Hans
Chris Haynes wrote:
>Hans,
>
>Thanks for asking!
>
>I'm about to deploy an on-line transaction-based service.. All
>service-specific software is in 1000+ Java classes. The OS is SuSE
>7.3, and Java version 1.4
>
>The heavist uses of the file store are:
>
>During development:
>+ javadoc
>
>During service deployment / update:
>+ rsync
>+ When using a tripwire-like Java program which checks the SHA digest
>of all deployable files against zipped JARs
>
>During production operation:
>+ atomic, synchronized writes to multiple files (typically 3 - 4 files
>in different directories, the first is the creation of a new 4 kb
>file, others are usually updates of existing files - growing typically
>1kb per update). This files system is mounted on a RAID-1 pair.
>+ rsync
>+ Successive reading of all files in a directory sub-tree (up to 10M
>files)
>in filestore-defined order (i.e. the program makes no demands or
>assumptions about the order - it uses the order supplied by Java's
>File.files()).
>
>
>The greatest performance concern I have is with the file writes. As
>these are atomic transactions, I use a separate thread for each file's
>write (to give the kernel's escalator a chance to work), and require
>that the write operations be individually hardware-synchronized using
>Java's FileDescriptor.sync() method. I then use a counter to detect
>when all threads have reported that their files have been written -
>this indicating successful commitment of the transaction.
>
>I handle read-and write-locking in the application.
>
>Usually, there are no lock conflicts, so there can be many concurrent
>transaction commitments. I use a thread pool of 50 threads to handle
>the individual file writes (the 50 being a guess at the likely point
>of diminishing returns).
>
>My expectation/hope is that, so long as there are enough threads
>available in this pool, all transactions will be completed within one
>disk rotation period(regardless of the number of concurrent
>transactions or number of files per transaction and the fact that I'm
>using software RAID-1). I've not yet been able to validate this
>(theoretically or practically).
>
>I would *really* like to be able to group all the file writes for a
>transaction into a single logical API call and have the kernel/file
>system report successful completion of all data and metadata aspects
>of the transaction using a single application thread.
>
>HTH
>
>Chris Haynes
>
>
>
>
>
>
next prev parent reply other threads:[~2002-12-24 9:36 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2002-12-23 11:28 what do you do that stresses your filesystem? Hans Reiser
2002-12-23 11:37 ` Anders Widman
2002-12-23 11:45 ` Hans Reiser
2002-12-23 12:36 ` Ed Tomlinson
2002-12-24 9:22 ` Hans Reiser
2002-12-23 22:02 ` Dieter Nützel
2002-12-23 11:49 ` new reiserfs4 snapshots? Ookhoi
2002-12-23 12:03 ` what do you do that stresses your filesystem? Hendrik Visage
2002-12-23 12:10 ` Oleg Drokin
2002-12-23 12:12 ` Hans Reiser
2002-12-23 12:21 ` Hendrik Visage
2002-12-23 12:26 ` Oleg Drokin
2002-12-23 12:37 ` Hendrik Visage
2002-12-23 14:18 ` Oleg Drokin
2002-12-23 14:37 ` Eric Whiting
2002-12-23 13:21 ` Russell Coker
2002-12-23 16:00 ` Alexander G. M. Smith
2002-12-24 9:26 ` Hans Reiser
2002-12-24 10:15 ` Ookhoi
2002-12-24 10:19 ` Oleg Drokin
2002-12-24 10:26 ` Ookhoi
2002-12-24 11:57 ` Hans Reiser
2002-12-24 12:41 ` Russell Coker
2002-12-23 14:44 ` bscott
2002-12-23 15:56 ` Ross Vandegrift
2002-12-23 20:12 ` Russell Coker
2002-12-23 16:33 ` Chris Haynes
2002-12-24 9:36 ` Hans Reiser [this message]
2003-01-06 15:14 ` Chris Mason
2002-12-23 18:54 ` Matthew Johnson
2002-12-23 21:04 ` Manuel Krause
2002-12-23 21:14 ` Andrew Clausen
2002-12-28 5:27 ` Brian Tinsley
2003-01-05 8:17 ` Hans Reiser
2003-01-05 11:49 ` Legato (was: " Hendrik Visage
2003-01-05 17:00 ` Brian Tinsley
2003-01-06 7:00 ` Hans Reiser
2003-01-05 16:51 ` Brian Tinsley
2003-01-06 7:10 ` Hans Reiser
2003-01-05 15:01 ` Philipp Gühring
2003-01-11 15:25 ` Zygo Blaxell
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=3E082A86.8050501@namesys.com \
--to=reiser@namesys.com \
--cc=chris@harvington.org.uk \
--cc=mason@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.