linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Nikolai Joukov <kolya@cs.sunysb.edu>
To: Al Boldi <a1426z@gawab.com>
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-raid@vger.kernel.org
Subject: Re: [ANNOUNCE] RAIF: Redundant Array of Independent Filesystems
Date: Fri, 15 Dec 2006 12:41:02 -0500 (EST)	[thread overview]
Message-ID: <Pine.GSO.4.53.0612151156130.26813@compserv1> (raw)
In-Reply-To: <200612150802.55396.a1426z@gawab.com>

> Nikolai Joukov wrote:
> > > Nikolai Joukov wrote:
> > > > We have designed a new stackable file system that we called RAIF:
> > > > Redundant Array of Independent Filesystems.
> > >
> > > Great!
> > >
> > > > We have performed some benchmarking on a 3GHz PC with 2GB of RAM and
> > > > U320 SCSI disks.  Compared to the Linux RAID driver, RAIF has
> > > > overheads of about 20-25% under the Postmark v1.5 benchmark in case of
> > > > striping and replication.  In case of RAID4 and RAID5-like
> > > > configurations, RAIF performed about two times *better* than software
> > > > RAID and even better than an Adaptec 2120S RAID5 controller.
> > >
> > > I am not surprised.  RAID 4/5/6 performance is highly sensitive to the
> > > underlying hw, and thus needs a fair amount of fine tuning.
> >
> > Nevertheless, performance is not the biggest advantage of RAIF.  For
> > read-biased workloads RAID is always slightly faster than RAIF.  The
> > biggest advantages of RAIF are flexible configurations (e.g., can combine
> > NFS and local file systems), per-file-type storage policies, and the fact
> > that files are stored as files on the lower file systems (which is
> > convenient).
>
> Ok, a I was just about to inform you of a three nfs-branch raif which was
> unable to fill the net pipe.  So it looks like a 25% performance hit across
> the board.  Should be possible to reduce to sub 3% though once RAIF matures,
> don't you think?

Hmmm.  Which workload did you try?  Which RAIF level did you use: RAIF0
(striping), replication (RAIF1, default), or striping with parity (RAIF4,
5, 6)?  Which hardware did you use?  RAIF has to consume extra CPU time
and on older machines the overheads seem to be higher (CPUs are getting
faster than I/O devices at a faster pace).  Also, I guess you are
comparing RAIF mounted over three NFS branches with NFS alone, right?
It doesn't seem to be very fair to me :-)

Recently we solved the double-caching problem, which improved RAIF's
performance by an order of magnitude under I/O-intensive workloads.
(Normally, Linux stackable file systems cache the data twice.)
Unfortunately, many VFS meta-operations are synchronous (e.g., lookup).
RAIF has to wait on such operations in sequence for every branch
involved.  (This is different from, say, readpage operation.  We
call readpage on all the branches right away and then wait for their
simultaneous operation.)  Sequential waiting on lookups should be OK for
multi-threaded workloads but may result in extra elapsed time for the
single-threaded workloads.  Again, elegant solutions may require VFS API
changes.  Alternatively, we can create kernel threads for every branch.

I am not sure about 3% overheads in all the cases compared to NFS alone.
On one hand, there should be some price to pay for the extra
functionality.  On the other hand, for some workloads RAIF should
even improve performance compared to a single NFS because of the load
distribution.  In general, I agree that there are still many things we can
optimize.

Nikolai.
---------------------
Nikolai Joukov, Ph.D.
Filesystems and Storage Laboratory
Stony Brook University

  reply	other threads:[~2006-12-15 17:41 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-13 17:47 [ANNOUNCE] RAIF: Redundant Array of Independent Filesystems Nikolai Joukov
2006-12-13 19:02 ` Phillip Susi
2006-12-13 19:17   ` Nikolai Joukov
2006-12-13 19:32     ` Nikolai Joukov
2006-12-13 19:33 ` Jan Engelhardt
2006-12-13 19:57   ` Nikolai Joukov
2006-12-13 19:57 ` Al Boldi
2006-12-14 21:01   ` Nikolai Joukov
2006-12-14 21:30     ` Charles Manning
2006-12-15 16:48       ` Nikolai Joukov
2006-12-14 22:48     ` berk walker
2006-12-15  5:02     ` Al Boldi
2006-12-15 17:41       ` Nikolai Joukov [this message]
     [not found]         ` <200612161635.49502.a1426z@gawab.com>
2006-12-16 17:39           ` Nikolai Joukov
2006-12-19 17:50             ` stacked filesystem cache waste Bryan Henderson
     [not found]             ` <200612172059.07941.a1426z@gawab.com>
2006-12-23  3:21               ` [ANNOUNCE] RAIF: Redundant Array of Independent Filesystems Nikolai Joukov
2006-12-14 11:12 ` Al Boldi
2006-12-14 23:44   ` Nikolai Joukov
2006-12-15  5:03     ` Al Boldi
2006-12-15 18:47       ` Nikolai Joukov
2006-12-15 12:47 ` Ed Tomlinson
2006-12-15 20:11   ` Nikolai Joukov
2006-12-15 23:58     ` Ed Tomlinson
2006-12-16  0:20       ` Bryan Henderson
2006-12-16  1:20         ` Nikolai Joukov
2006-12-16 14:46         ` Ed Tomlinson
2006-12-16 17:57           ` Nikolai Joukov
2006-12-16  0:02 ` David Lang
2006-12-16  0:58   ` Nikolai Joukov
  -- strict thread matches above, loose matches on Subject: below --
2006-12-15  1:13 Nikolai Joukov
     [not found] <OF582D7197.D6F604B1-ON88257248.0069CC60-88257248.006AE165@us.ibm.com>
2006-12-25 15:13 ` Nikolai Joukov
2007-01-06  5:17 Chaitanya Patti

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=Pine.GSO.4.53.0612151156130.26813@compserv1 \
    --to=kolya@cs.sunysb.edu \
    --cc=a1426z@gawab.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-raid@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;
as well as URLs for NNTP newsgroup(s).