Re: [chrony-dev] SW/HW timestamping on Linux

[ Thread Index | Date Index | More chrony.tuxfamily.org/chrony-dev Archives ]


Miroslav,

I’ve found the issue with the 2.2us offset between a locally attached vs across the switch.

It’s not the switch. The act of crossing the switch itself seems to be negligible. The problem appears to be one of asymmetry arising from port speed mismatch. The hardware NTP device uses 10/100Mb Ethernet, and the monitor host uses 10/100/1000Mb. When the hardware NTP is plugged directly into the the monitor host, the connection negotiates at 100Mb. However when connected via the switch, the port for the monitor host auto negotiates at 1000Mb (1Gb), while the port for the hardware NTP device runs at 100Mb. This port speed differential appears to result in a asymmetry in transmit/receive time which significantly affects the calculations. If I lock the monitor host port at 100Mb, all three units show precise synchronization, both with hardware and software time stamping. As noted previously, with the monitor host port at 1Gb, I see ~300ns (positive) with software and ~2200ns (negative) with hardware.

I’ve also tested by by introducing a separate switch (different manufacturer, dumb vs smart) between the locally attached unit and the monitor, and I see the same behavior. If let the monitor host port run at 1Gb, the unit lines up with the other two that are across the main switch. I lock the monitor host port at 100Mb, The offset is again clearly visible, both with software and hardware time stamping.

I’ve spent many years on latency in networks, but have never come across this specific issue. I would like to get my head around how the asymmetry comes about, and how much it is. I am continuing to research this. I believe I generally understand how asymmetry affects the calculations, but would appreciate any guidance you can offer in terms of quantifying how much asymmetry is required to produce the offsets seen. Also any reason that you can think of for the offset to be positive with software timestamps, but negative with hardware timestamps.

Thanks,  
Denny


> On Nov 16, 2016, at 01:53, Miroslav Lichvar <mlichvar@xxxxxxxxxx> wrote:
> 
> Is the port to the switch identical to the one connected to the third
> server? It would be interesting to see if the offset changes when the
> ports are swapped.
> 
> I'd trust HW timestamping. The 2.2us offset doesn't seem unrealistic.
> There is a reason why there are switches with support for PTP. You
> have exceptionally stable measurements with SW timestamping, but that
> doesn't mean the asymmetry in delay and processing has to be the same
> between the two ports.


--
To unsubscribe email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "unsubscribe" in the subject.
For help email chrony-dev-request@xxxxxxxxxxxxxxxxxxxx with "help" in the subject.
Trouble?  Email listmaster@xxxxxxxxxxxxxxxxxxxx.


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/