Hacker News new | ask | show | jobs
by aejnsn 1547 days ago
How has Chrony not been mentioned here?

https://chrony.tuxfamily.org/

1 comments

Chrony is still NTP. Clockwork is aiming to be far more precise.
It's hard to get much more accurate than Chrony with NTP. Even real-world PTP implementations don't often aim for more accuracy than is possible with Chrony.

Because it turns out NTP can be much more accurate than most people realize.

From the Chrony FAQ[1]:

> When combined with local hardware timestamping, good network switches, and even shorter polling intervals, a sub-microsecond accuracy and stability of a few tens of nanoseconds might be possible

Good network switches and NICs with hardware timestamping support are commonplace now in server environments. NTP with Chrony is pretty hard to beat in terms of simplicity, reliability, and accuracy.

1. https://chrony.tuxfamily.org/faq.html

Could you provide examples of NIC models that can achieve that? So far I've only worked with gear that offers HW timestamps but that feature relies entirely on the availability of PTP signals in the first place.
Some models that are known to work well with chrony are Intel I210, I350, and X550.

Those don't care about the protocol as they can provide hardware timestamps for all received packets.

Other popular NICs like the Intel X540 or XXV/XL710 are limited to timestamping of PTP event messages in order to limit the rate of timestamps which needs to be handled by the driver. For those chrony supports an NTP-over-PTP protocol which forces the hardware to trigger the timestamping by wrapping NTP messages in PTP.

Sub-microsecond accuracy is certainly possible. Here is an example with 3 network switches: https://chrony.tuxfamily.org/img/client-hwts-3switch-f323.pn...

The accuracy is limited by asymmetries in network switches.

In any case, whatever algorithms Clockwork is using with their protocol, I'm sure they could be used with NTP too. If additional information needs to be exchanged between the hosts, extension fields can be specified for that.

Thanks!