Re: TCP performance limitations


Mark Bodenstein (MAB%CORNELLC.BITNET@wiscvm.wisc.edu)
Mon, 5 Oct 1987 11:24:26 EDT


> ... We recently unrolled the TCP checksum loop, and a ~35%
>speed improvement there produced a ~15% overall throughput increase on
>memory-to-memory TCP.
> ...
>James B. VanBokkelen
>FTP Software Inc.
>

Could you provide more detail on how you unrolled this loop?

(The complication being that the length of the loop is determined by
the length of the data. Some alternatives I can think of would be:

1. to keep checking to see if you're done

2. to unroll the loop for each possible data length, and chose and
   execute the appropriate unrolled loop

3. to pad the data with zeros to the maximum length to be processed

(One could also try various combinations of these three.)

1. seems inefficient, and thus defeats the purpose of unrolling the loop.
2. seems efficient, but perhaps excessive.
3. seems to penalize short segments (e.g. ACKs), of which there are
   many.

Or am I missing something?)

Thanks.

Mark Bodenstein (mab@cornellc.bitnet@wiscvm.wisc.edu)
Cornell University



This archive was generated by hypermail 2.0b3 on Thu Mar 09 2000 - 14:39:34 GMT