JBS%DEEP-THOUGHT@mit-eddie.arpa (Jeff Siegal) (03/01/86)
I recently inquired about poor performance on a Cipher microstreamer. Well, we now have a TU78 (delivered yesterday), and being curious, I decideded to play with someone else's TU78 here. The poor performance shocked me. The is supposed to be a FAST tape drive. I was unable to get anything I would call satisfactory using cat, or cp (I didn't try dump). The same TU78 works beautifully on a VMS system (swapped the cables), but when used from Unix (4.3BSD), it seems to spend more time sitting there than writing. An interesting thing I noticed, which may have something to do with my Cipher problem, is that when writing to the /dev/mt0 device, it seems to write lots of little records (presumably wasting a lot of tape), but when writing to /dev/rmt0, it seems to work more slowly, but write larger records. Does anyone have any idea how to get satisfactory performance out of a tape drive under Unix? Help!! Jeff -------
ggs@ulysses.UUCP (Griff Smith) (03/03/86)
> I recently inquired about poor performance on a Cipher microstreamer. > > Well, we now have a TU78 (delivered yesterday), and being curious, I > decideded to play with someone else's TU78 here. The poor performance > shocked me. The is supposed to be a FAST tape drive. > > I was unable to get anything I would call satisfactory using cat, or > cp (I didn't try dump). The same TU78 works beautifully on a VMS > system (swapped the cables), but when used from Unix (4.3BSD), it > seems to spend more time sitting there than writing. > ... > > Does anyone have any idea how to get satisfactory performance out of a > tape drive under Unix? Help!! > > Jeff > ------- I don't understand your problem; the TU78 performs very well using 4.3BSD. Unless something has changed drastically since the pre-release version that we got from BRL last year (4.2 + planned performance fixes), the TU78 driver can run the drive at its full rated speed of about 500 Kbyte/second. It is not clever to use "cat" as a test, however. The "cat" command that comes from Berkeley uses stdio to move bytes from input to output (unless they cleaned this up since I last looked; not done as of 4.2BSD). This costs about 12 to 14 microseconds per character, which sets an upper limit of about 80 Kbyte/second. If you want to see fast tape performance, look at what you get with "dump". You should also try something like dd if=some-large-file of=/dev/rmt12 bs=16k or, even better dd if=/dev/rmt12 of=/dev/rmt13 bs=20k The large block size is important; no tape drive runs anywhere near its rated speed when the inter-record gap is the same size as the record. If you use "dd" to convert an EBCDIC tape to ASCII and see poor performance, don't blame the tape drive. The standard version of "dd" takes about 90 microseconds per character to do the byte pushing on a VAX 11/780, which is about 11 Kbyte/second. There is a fast version of "dd" available from the AT&T Toolchest; it does this same conversion about ten times faster on a VAX 11/780 (the ratio will vary on other company's machines). -- Griff Smith AT&T (Bell Laboratories), Murray Hill Phone: (201) 582-7736 Internet: ggs@ulysses.uucp UUCP: ulysses!ggs ( {allegra|ihnp4}!ulysses!ggs )