home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.protocols.nfs:2289 comp.protocols.tcp-ip.ibmpc:5164 comp.dcom.lans.ethernet:1874
- Path: sparky!uunet!olivea!sgigate!odin!sgi!rhyolite!vjs
- From: vjs@rhyolite.wpd.sgi.com (Vernon Schryver)
- Newsgroups: comp.protocols.nfs,comp.protocols.tcp-ip.ibmpc,comp.dcom.lans.ethernet
- Subject: Re: Sun <=> PC Transfer Rate (Summary)
- Message-ID: <pm73jsg@rhyolite.wpd.sgi.com>
- Date: 10 Sep 92 16:05:59 GMT
- References: <1992Sep4.173931.24033@pixel.kodak.com> <karl.23.716089551@empirical.com>
- Organization: Silicon Graphics, Inc. Mountain View, CA
- Lines: 58
-
- In article <karl.23.716089551@empirical.com>, karl@empirical.com (Karl Auerbach) writes:
- > ...
- > And if you use TCP with the new window extension mechanisms you can get
- > much better throughput. However, I don't know any PC code that uses those
- > yet.
-
- Really? To a PC which probably can't handle more than a few
- back-to-back ethernet packets? (A 250KByte window means the sender is
- going to want to send hundreds of back-to-back 1500 byte packets in a
- row.) And on ethernet where the bandwidth*delay product is so low? I
- would really like to know.
-
-
- > Two
- > >SPARCstation 2's are apparently capable of data rates of 800 to 1000
- > >kilobytes per second memory-to-memory transfer on a dedicated Ethernet.
- >
- > Sun's can do *much* better than that.
-
- Yes, it's hard to get much more than 1MByte/sec over a 10MHz ethernet.
-
- TCP-Large-Windows might help, by making it possible to reduce the
- number of ACK's and so the time spent in collision back-off. I'll have
- to try that.
-
-
- > > The CPU is probably not critical,
- >
- > CPU *is* critical. One of the big bottlenecks is checksum calculation.
- > (I do hope that whoever measured the Sun NFS speed did it with checksums
- > turned on -- Sun workstations run with UDP checksums OFF by default.)
-
- This is partly true in the NFS, TCP, and UPD implementations I know
- about. The CPU is the critical resource if you are using something
- faster than ethernet, but the checksum is only one of the top 3 or 4
- contenders in the program counter profiles. The cost of the UDP
- checksum for modern systems, including Suns, at the low data rates of
- NFS over ethernet is insignificant.
-
- Consider that you have only about 1MByte/sec of ethernet bandwidth, and
- so need to execute between 0.5 and 1.0 million Instructions/sec to
- checksum the data (depending on whether you have a carry bit). Setting
- aside any data cache misses, which will generally have to be paid for
- the bcopy()'s, that is on the order of 1.0 to 2.0 M cycles/sec. On a
- machine with 33MHz clock rate, you will spend less than 10% of you CPU
- computing the UDP checksum.
-
- Of course, you can write code to compute the UDP checksum as slowly as
- you wish. The AT&T 80386 System V reference source I saw a few years
- ago was very clearly correct, since it computed the checksum in C one
- byte at a time. It was also very clearly amazingly slow. I assume
- vendors were expected to replace the code with assembly language.
-
- Sun continues to promise that real soon they will turn on UDP checksums
- by default. That may have already happened.
-
-
- Vernon Schryver, vjs@sgi.com
-