Article View: comp.sys.amiga.tech
Article #2049Re: Smooth Operator (for disks)
From: Bela Lubkin
Date: Thu, 09 Nov 1989 03:27
Date: Thu, 09 Nov 1989 03:27
51 lines
3334 bytes
3334 bytes
In article <5850@ucdavis.ucdavis.edu> Tak (UlTech) AuYeung writes:
>I noticed that disk accesses are mostly delayed by the seek time
>of the disk head (vs. the actual transfer time), especially in
>a multitasking environment. Even if you use a disk optimizer,
>two processes trying to access data on different cylinders will
>make the disk seeking mechanism very busy. For hard disks
>owner, this problem may be minute, but for most floppy-only
>Amigans, the seek operation is noisy, slow and bad for the
>media (floppy disks).
Transfer rate is not an insignificant problem either: since Amiga-format
floppies don't use sectors, an entire track must always be read. At 360
RPM, that's 1/6 second. (Or is it 300 RPM and 1/5 sec?) I suspect that
trackdisk.device also waits for start-of-track before beginning to read,
adding another 1/12 sec average latency.
The point so far is: if you had a magic drive with 0 seek time you would
still wait an average of 1/4 (3/10?) sec for each competing disk access.
Anyway, what you (and I) want is a track cache. Why try to speed up the
seeking when it isn't necessary? Most of that back-and-forth seeking is
reading the same two tracks alternately as the 2 processes each read the
next data. If trackdisk.device cached just 2 tracks for each drive (the
previous one and the current one), much of the contention would go away.
Not all of it, but enough to make me much happier...
Proposal: trackdisk.device should cache a user-settable number of tracks
for each drive. The cached tracks should be in data format (i.e., after
being run through the blitter) and should optionally be storable in fast
memory (at the expense of using the 68000 to move them there).
Just a sanity check here: I don't THINK "AddBuffers" does this. It sure
sure SEEMS as if AddBuffers buffers contain only logical "sectors" which
have already been read, which are exactly those that are NOT going to be
reread when 2 processes are fighting over a drive for sequential access.
Likewise, though ASDG's FACCII helps, it caches sectors, not tracks, and
does not seem to keep sectors that were read because a different part of
the track was needed. The documentation does not say anything about it;
perhaps Perry or someone else from ASDG can comment?
Anyway, I'd rather have a simple two-track cacher than FACCII; ARes does
most of what I would need a floppy cacher for and a 2- or 3-track cacher
would handle the rest...
{Don't you hate it when your first 3-4 lines match up so neatly that you
just HAVE to finish the rest of the message that way? ;-}
Bela Lubkin * * // filbo@gorn.santa-cruz.ca.us CompuServe: 73047,1112
@ * * // ....ucbvax!ucscc!gorn!filbo ^^^-VERY slow [months]
R Pentomino * \X/ Filbo @ Pyrzqxgl +408-476-4633 & XBBS +408-476-4945
Technical Details
Message-ID:
<81.filbo@gorn.santa-cruz.ca.us>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!agate!shelby!ucscc.ucsc.edu!gorn!filboReferences:
<5850@ucdavis.ucdavis.edu>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!agate!shelby!ucscc.ucsc.edu!gorn!filbo From: filbo@gorn.santa-cruz.ca.us (Bela Lubkin) Newsgroups: comp.sys.amiga.tech Subject: Re: Smooth Operator (for disks) Summary: You want a track cache Message-ID: <81.filbo@gorn.santa-cruz.ca.us> Date: 9 Nov 89 03:27:36 GMT References: <5850@ucdavis.ucdavis.edu> Organization: R Pentomino Lines: 51 X-Claimer: I >am< R Pentomino!