Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 Oct 2001 19:46:27 -0700 (PDT)
From:      Matthew Jacob <mjacob@feral.com>
To:        Greg Lehey <grog@FreeBSD.org>
Cc:        Doug Rabson <dfr@nlsystems.com>, Luigi Rizzo <rizzo@aciri.org>, John Baldwin <jhb@FreeBSD.org>, Jonathan Lemon <jlemon@FreeBSD.org>, cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org
Subject:   Re: RAID-5 parity calculations (was: cvs commit: src/sys/dev/fxp if_fx)
Message-ID:  <Pine.BSF.4.21.0110261943390.12956-100000@beppo>
In-Reply-To: <20011027111145.A7846@wantadilla.lemis.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> >> Sorry, that seems wrong to me.
> 
> Have you done measurements?

You know, I have, but it's now been 5 years- I'd have to dig the notebook out
of storage.

> 
> >> Typical RAID write performance for something like an Sun A1000
> >> which has a pentium in it is about 50% of theoretical.
> 
> That doesn't mean that's because of the parity calculations.

*blush*

You may be right there!

> 
> > I guess the real question is: 'can you get the parity calculations
> > done in time so that the entire stripe can go out together'.
> 
> Why?

Because it's best if you can push stripes in some configurations out together-
essentially a software spindle sync.

> 
> > This obviously doesn't really work for the first request unless you
> > delay it. If you have a hugely deep queue, you will burn your
> > central processor doing things that are not germane to regular
> > systems work- you can't help but be assisted by a coprocessor doing
> > that work (it's like bcopy h/w).
> 
> I don't see much similarity.  As you say, it's the steady state
> performance that's important.  Basically, the resource you want to
> optimize is disk bandwidth.  Even if you do the calculations
> instantaneously, the data doesn't get written out until the disk has
> time to do it, and in a heavy load situation that will mean queueing
> behind other requests.
> 
> Instantaneously?  Well, how long does it take to checksum 6 kB (the
> average request size)?  That's 1500 words, say 10000 instructions.  At
> 1 GHz, that's 10 µs, which is completely negligible compared to the
> minimum four I/O transactions needed, which add up to about 25 ms.
> 

Hmm. I think I've fallen victim to 'old assumptions' syndrome. I keep on
forgetting how fast processors are getting. 

Apologies. I'll go rethink some now.

-matt



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0110261943390.12956-100000>