distributed performance test

Matthias Lang matthias@REDACTED
Tue Apr 26 16:05:28 CEST 2005

Per wrote:
 > Whether the full-duplex side's making use of the full duplexity is
 > actually seen as collisions by the half-duplex side can't really be
 > pre-determined, since it is highly dependant on traffic patterns and
 > timing. 

Further: it's useful to distinguish between 'normal' collisions and
late collisions, even if many popular OSs don't.

A normal collision happens within the first 64 octets of an ethernet
packet. A normal, healthy half-duplex ethernet has these all the time
and the transmitting NIC handles it by waiting a random time (with a
special distribution) and retransmitting. Software (TCP) is blissfully
unaware, everything works just fine.

A late collision happens after the first 64 octets, which may be after
the end of the frame. Correctly working networks should _never_ have
late collisions. All the NICs I've worked with treat late collisions
as a fatal error, i.e. they don't retransmit. Thus software (TCP)
sees a late collision as packet loss, and TCP tends to throttle itself
when that happens. That's why the performance characteristics get so ugly.


More information about the erlang-questions mailing list