Mark Hahn wrote:
15 drives and 64K chunks gives 960K per stripe.
The raid0 code should set the read-ahead to twice that: 1920K
which I would have thought would be enough, but apparently not.
choosing the RA size should depend in some way on speed, shouldn't it?
after all, the goal is to have enough reads queued to avoid a "stall"
while un-read-ahead-ed sectors pass under the head. for a typical
60 MB/s, 7200 rpm disk, a track is .5 MB. the heuristic above only
reads
ahead .12 MB...
While I'm sure you realize it, some reader won't, so I'll point out
that a cylinder is all the tracks which can be read without a seek,
and cylinder size is track size times number of data heads. If you
want max speed you can read that much off a drive at a time...
hmm. I certainly agree with your terminology, but afaikt, disks only
read
from a head at a time. the last time I saw a vendor quoting head-switch
times, they were within a factor of two one-track seek times, which
explains
why a same-family disk with more heads/surfaces shows only slight
speedup.
Agreed. The only real gain is avoiding intervening seeks. Makes a case
for using cylinder size as chunk size? Maybe. Makes a case for being
sure your readahead is large enough, though, for some sensible value of
"enough."
--
bill davidsen <davidsen@xxxxxxx>
CTO TMR Associates, Inc
Doing interesting things with small computers since 1979
-
To unsubscribe from this list: send the line "unsubscribe linux-raid" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html