minphys(), disk performance

Jim Franklin jwf at munsell.UUCP
Fri Dec 19 10:45:47 AEST 1986


I agree with Don Speck -- the problem with raw disk thruput is lost disk
rotations.  The reason for lost rotations is obvious, considering the
limits placed on transfer size by minphys(), and the sheer amount of code
that has to be executed for each block transfer:

physio():
        while ( useless iovec trash ) {
                while ( more bytes in buffer ) {
                        calculate transfer count via (*mincnt)();  (which is
                        lock in buffer;                             usually
                        physstrat();                                minphys)
                                allocate kernelmap;
                                mapin(buffer);
                                (*disk_strategy)();
                                        disk_sort();
                                        issue disk command;
                                sleep() until B_DONE;
                                mapout(buffer);
                                free kernelmap;
                        unlock buffer;
                }
        }

We are running SUN-3's with Fujitsu M2361A's and Interphase VSMD 4200
"Cheetah" VME controller boards.  For raw i/o, our maximum transfer rate
is 1.2 megabytes/sec writing, 1.5 megabytes/sec reading.  Note that the
theoretical maximum transfer rate for this drive (M2361A) the way we
formatted it is ( 60 revs/second * 64 sectors/track * 512 bytes/sector )
or 1966080 bytes/sec.  This gives a raw write transfer of 63% maximum,
and a raw read transfer of 77% maximum.

I consider this mediocre performance, considering the capabilities of the
drive and the controller.
-----
{harvard!adelie,{decvax,allegra,talcott}!encore}!munsell!jwf

Jim Franklin, Eikonix Corp., 23 Crosby Drive, Bedford, MA 01730
Phone: (617) 275-5070 x415



More information about the Comp.unix.wizards mailing list