[comp.periphs.scsi] Separate controllers to enhance performance?

jessea@homecare.uucp (Jesse W. Asher) (04/27/91)

I'm not real familiar with SCSI drives so I have a question about their
performance (actually it's on the controller).  When you run MFM or RLL,
the controller can only read or write one device at a time whether it is
a hard drive or floppy.  One database vendor suggested putting database
files or separate hard drives to increase performance.  I protested that
it wouldn't make any difference unless the drives were on separate
controllers.  Does this apply to SCSI controllers as well or does it
access drives simultaneously (or almost so)?


-- 
      Jesse W. Asher        NIC Handle:  JA268         Phone: (901)386-5061
                       Health Sphere of America Inc.
	       5125 Elmore Rd., Suite 1, Memphis, TN 38134
 Internet: jessea@homecare.COM                 UUCP: ...!banana!homecare!jessea

ekalenda@cup.portal.com (Edward John Kalenda) (04/27/91)

>I'm not real familiar with SCSI drives so I have a question about their
>performance (actually it's on the controller).  When you run MFM or RLL,
>the controller can only read or write one device at a time whether it is
>a hard drive or floppy.  One database vendor suggested putting database
>files or separate hard drives to increase performance.  I protested that
>it wouldn't make any difference unless the drives were on separate
>controllers.  Does this apply to SCSI controllers as well or does it
>access drives simultaneously (or almost so)?

The performance improvement the vendor was talking about comes from not
having to move the heads as much. If you are accessing two files, the
heads would bounce back and forth between them. If they are on seperate
drives, they would not move as much.

Another improvement comes from the fact that there would be less
fragmentation since the files would grow on seperate volumes, so they
would not interleave eacch other during growth.

Using seperate controllers (MFM, RLL or SCSI) would only help if the
operatin system was smart enough to have them both active at the same
time and the hardware had enough DMA channels (and speed) to be doing
multiple DMAs. If your using DOS it's got no brains for this. Unix can
do it in some implementations.

Ed
ekalenda@cup.portal.com

chap@art-sy.detroit.mi.us (j chapman flack) (05/01/91)

In article <1991Apr26.174456.810@homecare.uucp> jessea@homecare.UUCP (Jesse W. Asher) writes:
>I'm not real familiar with SCSI drives so I have a question about their
>performance (actually it's on the controller).  When you run MFM or RLL,
 ...
>it wouldn't make any difference unless the drives were on separate
>controllers.  Does this apply to SCSI controllers as well or does it
>access drives simultaneously (or almost so)?

I'm not certain whether you meant to say "controller" or "host adapter" there.
Please forgive me if I assume you meant "host adapter," as it's a common
confusion.  The part of a SCSI subsystem that plugs into the host computer's
bus is the host adapter, and it handles the interface between the host's bus
and the SCSI bus.  A SCSI controller is a module that interfaces one (or
more) device(s) to a SCSI bus.  Notice the difference: with ST506 (using
whatever recording format: MFM, RLL, or other), the thing you plug into your
host bus is in fact the disk controller; with SCSI, it's the host adapter.
The SCSI disk controller is either: a module built into an embedded-SCSI
disk drive, or a standalone SCSI controller module, which can control
several non-intelligent drives (ST506, say) using one ID on the SCSI bus.

Since a SCSI bus can connect 8 devices, and one (at least) will be a host
adapter, you can attach seven other devices, each of which could be
  a) one embedded-SCSI drive, or
  b) several dumb drives on a standalone SCSI controller
  c) something else (lots of things talk SCSI).

Now to your question:  an embedded-SCSI controller can only control one drive
at a time, naturally (the one it's built into).  A standalone SCSI
controller may or may not actually perform operations concurrently on N of
its attached drives; probably depends on the controller.  The host adapter,
though, which I think is what you meant to ask about, spends very little
time waiting for anyone.  If it sends a message to controller 2 saying
"read me block 3456 from your drive #0", controller 2 will say "No problem.
It'll take me a few milliseconds to find the block--I'll let you know when
I'm ready."  Controller 2 then releases the bus and works on its own, while
the host can initiate other operations with other devices.  Eventually
controller 2 sends a message to the host saying "I found the data you wanted;
here it is."

So yes, you can almost certainly boost performance by judiciously spreading
files across different devices on a SCSI.

Hope this helped...
-- 
Chap Flack                         Their tanks will rust.  Our songs will last.
chap@art-sy.detroit.mi.us                                   -Mikos Theodorakis

Nothing I say represents Appropriate Roles for Technology unless I say it does.