ESDI caching disk controllers: Reprise
Chris Lewis
clewis at eci386.uucp
Sat May 5 08:33:32 AEST 1990
All things being equal, adding main memory and kernel buffers would be
better than adding yet another layer of caching, *but*:
- the controller is more likely to be better tuned to the geometry
of the disk than bio and fio are and know how to optimize operations
better. (fio is the file level handler and bio is the buffered-disk
level handler in most UNIX kernels)
- since the controller is a somewhat "simpler" environment (there
ain't no uproc's etc. getting in the way ;-), adding improved
algorithms is *easier*. (look-ahead-cancel/defer, track-cache,
elevator algorithm, cache-locking, cache partitioning etc.)
- you only have to tune the heck out of the controller once, rather
than having to retune (rewrite) the driver for each port.
- Controller manufacturers usually know a heck of a lot more about
disks than UNIX porting people who have other problems to deal with.
- If you put a UPS on the controller and disk, disk sync order
ain't that particularly important, so the controller can be
considerably more free in operation ordering.... In fact,
given appropriate conditions, the controller may *never* have
to write the disk... (oversimplified, requires UPS, and
pretty fail-safe controller/disk - Not that you want it
really to do this - the DPT controller does timeout and
forces writes after a moderate amount of time). It's the
neatest thing to see a system panic, and the disk abruptly
gets very busy for another 30 seconds or so....
And finally, since no UNIX kernel that I'm aware of resizes buffer cache
dynamically, you end up with a lot more memory to put processes in rather
than trading off all over the place, and the kernel buffer size isn't
that important anymore.
Mind you, there are some pretty awesome things you could do if you make
these controllers a bit smarter and get fio to know about them.
(eg: cancellable/deferable next-n-blocks-in-a-file look-ahead instead
of consequitive physical block).
The DPT controllers are pretty amazing. I've used DPT's ESDI and ST506
controllers on SCSI bus. Talk about making NCR Towers scream! (factors
of 30 upon occasion). And I understand the AT-bus ones are just as good.
--
Chris Lewis, Elegant Communications Inc, {uunet!attcan,utzoo}!lsuc!eci386!clewis
Ferret mailing list: eci386!ferret-list, psroff mailing list: eci386!psroff-list
More information about the Comp.unix.i386
mailing list