Measurements of errors in timestamps of NTP servers

This document compares accuracy and performance of a few different stratum-1 NTP servers. An Intel I210 NIC with hardware timestamping (using default RX/TX compensation in the igb driver) and PPS input on one of its software-defined pins (SDP) is used as a reference. The server and the I210 NIC were directly connected with a short cable (no switches between them) and synchronized to the same PPS signal, or synchronized to other NICs over PCIe in a symmetric setup.

Except LeoNTP, all servers were running on Linux with chrony, rsntp, or a DPDK NTP implementation. chrony was tested in both basic and interleaved modes

Summary

HW TX/RX timestamping Max pkt. rate Offset (idle) (us) Offset (loaded) (us)
AR9331 user/kernel (basic) 2200 61.6 +/- 17.3 54.0 +/- 56.8
AR9331 kernel/kernel (xleave) 2000 -7.8 +/- 9.5 -17.8 +/- 29.3
Raspberry Pi 3B+ (pps-gpio) user/kernel (basic) 17000 -9.2 +/- 2.9 -2.3 +/- 9.4
Raspberry Pi 3B+ (pps-gpio) kernel/kernel (xleave) 17000 -15.2 +/- 2.9 -12.7 +/- 6.3
Raspberry Pi 3B+ (pps-gpio-poll) user/kernel (basic) 17000 -11.2 +/- 3.0 -6.1 +/- 9.2
Raspberry Pi 3B+ (pps-gpio-poll) kernel/kernel (xleave) 17000 -17.4 +/- 3.0 -17.8 +/- 6.0
Orange Pi PC (pps-gpio-poll) user/kernel (basic) 17000 5.0 +/- 3.0 6.2 +/- 8.4
Orange Pi PC (pps-gpio-poll) kernel/kernel (xleave) 17000 -10.2 +/- 2.8 -8.2 +/- 2.9
LeoNTP v119 firmware (basic) 110000 -0.2 +/- 0.02 -0.2 +/- 0.04
E3-1220 + I350 user/kernel (basic) 350000 -10.5 +/- 2.5 -9.2 +/- 7.5
E3-1220 + I350 kernel/kernel (xleave) 240000 -13.1 +/- 2.0 -10.3 +/- 7.4
E3-1220 + I350 (rsntp) user/user (basic) 1100000 -21.2 +/- 5.5 -18.8 +/- 13.6
E3-1220 + I350 (PMD) user/user (basic) 1100000 0.7 +/- 1.15 2.7 +/- 2.76
E3-1220 + X550T (PMD) user/user (basic) 11000000 1.7 +/- 1.07 1.6 +/- 0.95
I210 @ 1Gb/s HW/HW (xleave) 0.0 +/- 0.01
I350 @ 1Gb/s HW/HW (xleave) -0.2 +/- 0.01 -0.2 +/- 0.01
X550T @ 1Gb/s HW/HW (xleave) 0.6 +/- 0.01

Measurements

Servers using software timestamping

Autoscaled graphs

Fixed-scale graphs

Servers using hardware timestamping

Autoscaled graphs

Fixed-scale graphs