[rescue] Macs & IDE vs. SCSI

Patrick Giagnocavo +1.717.201.3366 patrick at zill.net
Sat Apr 12 11:55:00 CDT 2003

On Sat, Apr 12, 2003 at 12:32:48PM -0400, Phil Stracchino wrote:
> On Sat, Apr 12, 2003 at 06:58:37AM -0700, Lionel Peterson wrote:
> Frankly, beyond a certain point, as far as the actual speed of the
> drive is concerned it's all moot anyway.  Once you fill (or empty) the
> drive's buffer, you're back to the native sustained transfer rate of the
> disk mechanism, which is nowhere close to keeping pace with any current
> disk interface.

Don't forget protocol overhead as well.
> Where SCSI's speed advantage comes in is that it supports disconnection,
> so it can go off and do something else on another drive while that one
> reads more data instead of having to wait for one drive at a time to
> finish as on IDE, and that doing so consumes negligible resources on the
> host.  On a resource consumption basis, one should think of "IDE disk"
> in the same breath as "host-based printer", "winmodem", and unaccelerated
> dumb framebuffers.

I agreee on the disconnection speedup but as for "winmodem":

Argh... this is simply not true.  When you are using "UDMA Mode 2" or
anything faster or more recent than that, the transfers from disk to
CPU are done exactly the same way as a SCSI adapter does it (DMA
transfer direct to memory, then 1 interrupt to tell the CPU that data
is there).

I ran tests in "lab" conditions, and real-world experience also shows
it to be the case.  

Basically, on any x86 machine produced since 1998-1999 you will see no
more than 1% difference in CPU utilization between SCSI and IDE.  This
is --provided-- that the OS has any kind of halfway decent IDE driver.

Of course, IDE implementations on other architectures might suck, but
then again a poorly-written SCSI driver shouldn't be used to damn SCSI

A quick way to check is to correlate the number of interrupts/s with
the number of disk transactions/s (under OpenBSD, run "systat
vmstat").  If the "good" IDE mode is being used, there will be one
interrupt for each disk transaction - just as with SCSI.

That is really the only point I am trying to make when I make IDE vs
SCSI comments.  In the bad old days of IDE, each 512-byte block
transfer resulted in an interrupt to the CPU - which definitely turned
the CPU into an expensive drive controller.

| Patrick Giagnocavo, patrick at zill.net             |
| Zill.Net - OpenACS, Postgres, Python hosting     |
| OpenACS v4 shared server       $19.95/month      |
| Colocation w/30GB transfer     $99.00/month      |
| Managed servers (incl. system) $175/month        |

More information about the rescue mailing list