Jon Crowcroft (jon@Cs.Ucl.AC.UK)
Tue, 06 Oct 87 12:43:54 +0100
Since TCP is a transport protocol, it has to reach the processes
lower protocols can't reach. This means (in most OS's (eg
Used Never In Xanadu)), at least one buffer copy, and one or two context
switches per packet.
However good your windowing, and lossless the net, that bites
bad. If the hardware could keep track of the actual user buffers (and scatter
gather them too) straight in and out of user processes, then you are down
to DMA speeds. The trick is to design clever enough hardware that the OS
designers will trust not to trash the OS.
You lose two ways because of current hardware - packet over run (see many
writings by Dave Cheriton) causing lowere throughput, and higher latency.
Another win would be hardware that
provided the higher level protocols with a CRC [Say buffer descriptor
list contains pointer to where to put CRC in outgoing packets, and how to
do it for incoming packets].
It's instructive to look at fast gateways - two lance ethernet chips on a
multibus can blow away the bus bandwidth - really fast boxes have no bus,
or have a binary tree bus a la buttergates...
This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:39:34 GMT