ESDI controller recommendations

Conor P. Cahill cpcahil at virtech.UUCP
Mon Sep 4 10:18:42 AEST 1989


In article <68 at calcite.UUCP>, vjs at calcite.UUCP (Vernon Schryver) writes:
> In article <1989Sep2.023511.24943 at ddsw1.MCS.COM>, karl at ddsw1.MCS.COM (Karl Denninger) writes:
> > ...
> > o	The controller can be intimately familiar with the layout of the
> > 	disk itself....
> 
> All of the advantages of having a smart controller are in principle
> available to the operating system.

Yes, and they all steal cpu cycles from the user processes.  I paid alot 
for my heavy duty cpu and I would rather have it managing my windows and
compiling my programs then figuring out how to talk to my disk.

> > o	The controller can cache "raw" writes and reads, something that the
> > 	Unix system does not do.
> 
> Not true.  If there were a law requiring raw I/O to not use the buffer
> cache, then some UNIX kernels would be breaking it.

Raw device support is not provided by the kernel, it is provided by the
device driver.  Sometimes it makes sense for both the raw interface and
block interface to both pass through the buffer cache, but for disk i/o
all device drivers *should* not pass the raw i/o through the cache.  If 
they did, fsck would have lots of trouble (especially when it told you 
to reboot-no sync).

> > o	The controller can, if desired, physically mirror two disks, reducing
> > 	the probability of failure.
> 
> Even better, is to have the file system provide the correct rather than
> blanket redundancy.

I'm not too sure what you mean by correct rather than blanket redundancy, 
but the disk mirroring available will automatically fix/remap bad sectors
on both the master and/or mirror disk without any intervention on the part
of the user.  This is a very positive element for systems that will 
be placed in service in some remote region and left running for extended
periods of time without any local interaction. 

> 
> As others elsewhere continue to argue, given fixed and finite dollars (i.e
> price is an object), it is better to have two general purpose CPU's than a
> mixture of specialized ones.  An expression of this fact is the greater
> respect "symmetric multiprocessor UNIX'es" receive compared to "master-slave"
> or other modes.  Since most machines are sometimes CPU bound and not doing
> any I/O, a machine with two *86's working on user CPU cycles will be faster
> than a machine with one *86 for users and one asleep on the disk.

You are comparing apples and oranges. The dual/multi processor environments
were always setup with multiples of the same processor.  The master/slave
setup was pretty bad (at least on the one such setup I am familiar with) 
because only the master processor could perform most system calls.

However, in the scenario where a *MUCH CHEAPER* processor can be used
to offload some of the system i/o requirements this does not come into 
question.  Most mini's and mainframes use this mechanism to leave the
cpu doing what it does best.  

In particular the DPT comes with a 68000 processor which I *think* runs
for about $8 each and CAN handle all of the requiements dealing with
disk i/o.  

This is the same argument that is applied to the intelligent serial card,
which for about $500-900 will boost the serial i/o support on your 
system from maybe 2 19.2 lines to as much as 8 or 16.
-- 
+-----------------------------------------------------------------------+
| Conor P. Cahill     uunet!virtech!cpcahil      	703-430-9247	!
| Virtual Technologies Inc.,    P. O. Box 876,   Sterling, VA 22170     |
+-----------------------------------------------------------------------+



More information about the Comp.unix.i386 mailing list