Newsgroups: comp.unix.ultrix Path: utzoo!utgpu!watserv1!watcgl!idallen From: idallen@watcgl.waterloo.edu (Ian! D. Allen [CGL]) Subject: Re: Why isn't dump maximally efficient with TK70 tapes? Message-ID: <1990Jun8.190300.17195@watcgl.waterloo.edu> Organization: University of Waterloo References: <1990Jun8.014252.15749@watcgl.waterloo.edu> <12420@cbmvax.commodore.com> Date: Fri, 8 Jun 90 19:03:00 GMT Lines: 42 >> Dumps are of major importance; I would have thought that dump would be >> the most clever user of the tape drive. I can't believe this. Am I >> missing something? I must be missing something. > >Mostly that dump doesn't document the -b switch to let you specify a more >efficient block size and restore doesn't support it, which makes it a >pain to restore tapes with non-standard block sizes. Even using -b to set a 32K block size (the maximum the drive seems to allow without "write: Error 0" messages), it's still faster to dump to stdout and pipe into dd with wbuf=2 to write the tape. Is this the performance problem mentioned in the 3.1C release notes (item 1.1.12/13)? And you should see how long all this takes using rdump! Since Ultrix dd is supposed to handle multi-volumes, I'd recommend this as an alternative to rdump: % rsh host dump f - | dd wbuf=2 bs=32k of= Actually, bs=32k doesn't do quite what I want -- it doesn't assemble 32k of output data before writing it. As partial records come through the pipe, dd writes them to tape, wasting space. "ibs=32k obs=32k" works, but makes dump waste *much* time copyng the data. I wrote a simple program that reads and reads until it gets 32k worth of stuff, then does a 32k write using Ultrix nbuf I/O and two output buffers. Using dump to stdout into that program to write the tape is three times faster than using dump with 32k buffers: # time dump 0b 32k / DUMP: 345 tape blocks were dumped on 1 tape(s) DUMP: Dump is done 0% real=7:37 usr=0.3 sys=1.6 rd=1 wr=4 mem=92 pg=2 rec=18 sw=0 sig=0 cs=2037 # time sh -c "dump 0f - / | ./a.out >/dev/rmt0h" DUMP: 11295744 bytes were dumped to Standard Output DUMP: Dump is done 4% real=2:39 usr=0.6 sys=7.2 rd=0 wr=9 mem=45 pg=2 rec=17 sw=0 sig=0 cs=7636 Think how much faster this would be if dump did nbuf I/O most efficiently. -- -IAN! (Ian! D. Allen) idallen@watcgl.uwaterloo.ca idallen@watcgl.waterloo.edu [129.97.128.64] Computer Graphics Lab/University of Waterloo/Ontario/Canada