[comp.sys.nsc.32k] Streaming and other things

tyler@gen1.UUCP (Tyler IVANCO) (02/01/88)

In article <976@nscpdc.NSC.COM> joer@nscpdc.UUCP (Joe Rawlings    ) writes:
>In article <1558@mmm.UUCP> schultz@mmm.UUCP (John C Schultz) writes:
>
>>and the poor streaming capability of the tape drive.  I have asked Natl for
>>a little help on these performance issuses which has resulted in a 
>>resounding "thud".
	The Sun 3/50 didn't stream until I used my little routine below.
>
>There are ways to improve performance of several of the different 
>UNIX utilities (tar, cpio, etc.), There is no way to improve the 
>limitations of the devices used (SCSI only goes so fast, cartridge 
>tapes can only APPROXIMATE streaming, etc.).
>

	I believe that this is a problem of the operating system getting
in the way of the I/O from/to disk/tape.  On the UofT 4.2 port for the
ICM, it is quite easy to stream the tape drive using tar with a large
blocking size.  e.g.
	
	tar cbf 1024 /dev/rmt4 .
	
	This allocates 1 Meg of memory  and dumps it to the tape drive.
A similar result can be obtained when reading from the drive (after
the memory is paged it.

	I wrote a small utility, "block" that reads from stdin and
dumps to stdout.  It serves to collect a bunch of data and stuffs it
to stdout.

	e.g. dump 0usf 3000 - /dev/em0h | block -b1024000 > /dev/rmt4.

	Using the dump without the block program takes in excess of
2 hours to write the disk to tape.  With block, it takes about 20 minutes.
Needless to say (so why am I saying it?) the system was very quiet while
this was in operation.

	As I avoid SysV like the plague, I can't say whether one can
obtain similar results with it.

	Finally, if you want to take a chance and execute a low-level SCSI
COPY command, you can usually back up an 85Mbyte drive in a few minutes.
The tape stops streaming only to change directions.

>Additionally, if your CPU board is very old, you may want (or need)
>to get it upgraded to the current revision level (which fixes some
>bugs that hinder I/O).  
>
>Call me when you get the upgraded goodies and we will discuss
>performance issues.

	I would be interested in the board improvements.  We have
several board sets obtained in late 85 to early 86 (I think).

	And while I am asking questions, is it possible to obtain
the Z-80 source for the ICM.  I am curious as to whether it would be possible to
make a couple of software/hardware improvements:

	1) Allow multiple initiators on the SCSI bus,
	2) Buffer tracks to/from the SCSI devices,
	3) Build a daughter board so that SIO's could be added
	   to the Z-80 section relieving the '016 from serial I/O tasks.
	4) Graphics via the Z-80.


-- 
Phone: (416)736-2100 x7765                               Tyler Ivanco
Institute for Space and Terrestrial Sciences  - Solar/Terrestrial Physics Lab
BITNET: fs300022@yusol         UUCP: ...uunet!mnetor!yunexus!gen1!tyler
        yfcs0027@yorkvm1                    ...utzoo!/   

agnew@trwrc.UUCP (R.A. Agnew) (02/06/88)

In article <325@gen1.UUCP> tyler@gen1.UUCP (Tyler IVANCO) writes:

>>In article <1558@mmm.UUCP> schultz@mmm.UUCP (John C Schultz) writes:
>>
>>>and the poor streaming capability of the tape drive.  I have asked Natl for
>>>a little help on these performance issuses which has resulted in a 
>>>resounding "thud".
>	The Sun 3/50 didn't stream until I used my little routine below.
>	I believe that this is a problem of the operating system getting
>in the way of the I/O from/to disk/tape.  On the UofT 4.2 port for the
>ICM, it is quite easy to stream the tape drive using tar with a large
>blocking size.  e.g.
>	tar cbf 1024 /dev/rmt4 .

Yes, this helps but it does not fix it. No, its not the operating system.
The real problem is that the brain damaged SCSI controllers that Sun and
others used in those old designs did not support the full SCSI prrotocol
and thus cannot release the bus to the CPU while the transport is in
motion. This is the reason why you can't stream with them. Replacing the
ACB2070 with a decent SCSI controller is part of the real answer.
Note that the Sun3-50 can release and this feature is supported by Sun OS
version 3.4.  The National board has a similar problem.

tyler@gen1.UUCP (Tyler IVANCO) (02/07/88)

	With regards to my recent suggestion and commments regarding streaming,
In article <236@trwrc.UUCP> agnew@trwrc.UUCP (R.A. Agnew) writes:
>The real problem is that the brain damaged SCSI controllers that Sun and
>others used in those old designs did not support the full SCSI prrotocol
>and thus cannot release the bus to the CPU while the transport is in
>motion. 

	Yes, this is quite true; but I understand that SUN simply didn't
write drivers to support the SCSI disconnect command.  Perhaps this was
because SUN used a controller that didn't support that operation.  As a result 
the SUN SCSI bus cannot be used during a tape operation.  This effectively
hangs the workstation unless running programs off NFS.  However, you
can stream the write operation if all of your data is in memory.  

>This is the reason why you can't stream with them. Replacing the
>ACB2070 with a decent SCSI controller is part of the real answer.
>Note that the Sun3-50 can release and this feature is supported by Sun OS
>version 3.4.  The National board has a similar problem.

	I'm not sure that I agree with the assertion that the ICM has
a similar problem.  It may be that the 4.2 port does not support the
SCSI disconnect option, but at least one can still use the hard drive 
while tape operations are active, including large block writes.  The
emulex controllers suggested by NSC seem to support this mode.  You can,
from the monitor execute a SCSI copy direct tape to drive command and
dump the entire drive to tape without stopping (except of course for
track changes).  In this case the CPU is not involved in the transfer 
at all.  Indeed, a Z-80 is the only initiator on the bus.

	However,  if running through the CPU,  the OS and the
CPU would have to be very fast indeed in order to stream the tape
without blocking the data.   So from this point of view, the board
and the software are the problem.  

-- 
Phone: (416)736-2100 x7765                               Tyler Ivanco
Institute for Space and Terrestrial Sciences  - Solar/Terrestrial Physics Lab
BITNET: fs300022@yusol         UUCP: ...uunet!mnetor!yunexus!gen1!tyler
        yfcs0027@yorkvm1                    ...utzoo!/