Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!cs.utexas.edu!uunet!portal!cup.portal.com!Don_A_Corbitt
From: Don_A_Corbitt@cup.portal.com
Newsgroups: comp.arch
Subject: Re: *big iron*
Message-ID: <22636@cup.portal.com>
Date: 29 Sep 89 05:22:05 GMT
References: <21962@cup.portal.com> <1989Sep12.031453.22947@wolves.uucp>
  <22130@cup.portal.com> <1989Sep16.044013.429@wolves.uucp>
  <259@ssp1.idca.tds.philips.nl> <22308@cup.portal.com> <7981@cbmvax.UUCP>
  <11538@burdvax.PRC.Unisys.COM> <22488@cup.portal.com>
  <3
Organization: The Portal System (TM)
Lines: 52

Warning - posting from newcomer - Disk IO data enclosed

System: 
Northgate 386 16MHz
4MB 32 bit memory on motherboard (paged - 0WS in page, else 1WS)
RLL hard disk - 7.5MBit/sec transfer rate
No RAM or disk cache

Test 1 - How does transfer buffer size affect throughput under
MS-DOS?

Buffer		RLL KB/s	RAMDrive KB/s
512		156		446
1024		192		714
2048		284		1027
4096		352		1316
8192		409		1511
16384		445		1633
32768		471		1700

Test 2 - Using low-level calls, how does throughput differ?
These are still the MS-DOS calls, but using read/write sector,
not read/write file, commands.

Buffer		RLL KB/s	RAMDrive KB/s
512		196		1245
1024		336		2203
2048		381		3206
4096		387		5266
8192		489		6526
16384		567		7367
32767		611		7856

Conclusion - it appears that MSDOS does a MOVSB to copy data from an
internal buffer to the user area.  I did the timing, and that almost
exactly matched the speedup we see going from file IO to raw IO on the
RAM disk.  Note that this disk drive has a maximum burst transfer rate
of 937KB/s, and a maximum sustained rate of around 800KB/s (assuming 0ms 
seek, etc).  So we are able to get >1/2 max performance using the filesystem,
and 3/4 of max using the low-level calls.  

Also, it appears that the memory-memory bandwidth is sufficient for anything
that can get into a 32-bit 16 MHz slot.  Of course, generic peripherals
are looking at a 8MHz 16 bit slot with slow DMA.

Don_A_Corbitt@cup.portal.com - this non-lurking could ruin my reputation

PS - in 1984 I wrote the firmware for a 3.5" floppy drive with performance
in mind - 1:1 interleave, track skewing, etc for the portable Tandy Model 100.
It ran faster than any desktop PC I could find to benchmark it against.  And I 
haven't noticed anyone making the effort to do the same since.  So nobody cares
about Disk IO?