You need to enable JavaScript to fully utilise this page.

RADclock Accuracy and Robustness

The most common question asked about the RADclock is: "How accurate does it get?". The less common question asked is "How robust is the RADclock?". We see these two questions as equally important.

The absolute accuracy depends mostly on:

The RADclock is designed to be extremely robust (i.e. will not exhibit unstable behavior) to many events, including

The RADclock publications contain thorough analysis of the RADclock performance using our methodology. Here we only present a very small subset of these results as particular case studies.

Performance on a LAN

Comparison RADclock and ntpd-GPS

RADclock vs ntpd GPS clock error

Here we show a zoomed-in view of the performance of the RADclock (blue), running on a FreeBSD 6.1 on a Dell GX620 (Pentium D, 3.4GHz). The NIC is a Realtek 8139 PCI card (100Mbps). The RADclock is synchronising to a Stratum-1 NTP server located on a LAN (couple of switches away) with a polling period of 16 [sec]. The minimum RTT is of the order of 280 [mus], there is barely any congestion on the network.

We also show the performance of the ntpd daemon running simultaneously on the some host (red). Here, ntpd is not synchronising over the network but by a GPS signal and a PPS from our atomic clock through the computer serial port, and runs with a Stratum-1 status.

In this experiment the RADclock synchronising to a server on a LAN performs as well as ntpd with an atomic clock! The RADclock performance exhibits an IQR smaller than 10 [mus]. The oscillations the two clocks exhibits are due to the change of temperature of the environment: the air conditioning system cycles of the room where the host is located.

Comparison RADclock and ntpd-NTP

RADclock vs. ntpd clock error

Here we show a 43 day long copture of the RADclock (blue) and ntpd (red), running simultaneously on a on a FreeBSD 6.1 on a Dell Optiplex GX1 (Pentium 3, 600Mhz). The NIC is a 3Com 3c905B card (100Mbps) embedded on the motherboard. The RADclock and ntpd share the same flow of NTP packets to a Stratum-1 NTP server located on a LAN using the RADclock piggy-backing mode. The polling period is fixed to 256 [sec]. The minimum RTT is of the order of 280 [mus], there is barely any congestion on the network.

While ntpd shows long period of correct behaviour, it also exhibits week long periods of instability and large deviations. The RADclock, which uses the exact same input shows extremely stable performance with an IQR below 10 [mus].

Comparison RADclock and ptpd

RADclock vs. ptpd clock error
RADclock vs. ptpd clock error RADclock vs. ptpd clock error

Here we present a 5 days capture showing the performance of the RADclock and ptpd running both on Linux 2.6.20 on a Dell Dimension 8100 (Pentium 4 1.4GHz). The NIC is a 3Com 3c905C card (100Mbps) embedded on the motherboard. The RADclock and ptpd both synchronise to a Stratum-1 server on the LAN with a 16 [sec] polling period. There is negligible network traffic and very light host load. The time series show very consistent performance for each clock, however the RADclock is considerably less variable, with an Inter-Quartile Range (IQR) of 8.1μs compared to 31.6μs for ptpd.

RADclock vs. ptpd clock error
RADclock vs. ptpd clock error RADclock vs. ptpd clock error

Here we examine the robustness of both the RADclock and ptpd when facing a loss of connection to the time server. We first allow each clock to converge. We then disconnect the testbed monitoring hub from the network for about 2 hours, then reconnect it. Over the disconnected period, the RADclock shows a gradual drift, the inevitable result of a lack of access to a master, and immediate recovery upon reconnection. In contrast the reaction of ptpd is extreme. As shown in the first zoomed-in timeseries, following the disconnection at 150 minutes ptpd dives to reach an error of −300[ms] before reconnection. After reconnection, ptpd's error remains in the [ms] range for most of the hour required for convergence as shown on the second zoomed-in timeseries. More detailed results have been published in our paper The Cost of Variability.

RADclock difference clock stability and robustness

RADclock difference clock RADclock difference clock histogram
RADclock difference clock stability RADclock difference clock stability

Here we show the performance and robustness of the difference clock capability provided by the RADclock. The RADclock runs on FreeBSD 5.3 on a Dell Precision 410 (Pentium 3 600MHz). The NIC is a 3Com 3c905B (100Mbps) embedded on the motherboard. The RADclock synchronises to a NTP server on a LAN with a 16 [sec] polling period.

The first results (blue) show the accuracy of the difference clock which is within a [-1,+1] [mus] band when compared internally against a GPS and PPS synchronised ntpd clock. The actual performance of the difference clock is below the level of system noise and likely to be much better than the micro-second level shown here! Note that due its design, the difference clock cannot be responsible by the spikes seen here, whose cause can be traced back to ntpd.

We now use the replay capability of the RADclock feedforward algorithm to emulate a loss of network connectivity of 25 days! The RADclock algorithm does not get any NTP packets to compensate for local drift for this entire period. The performance of the RADclock difference clock remains almost identical, an amazing performance. As shown by the corresponding histograms, the clock error median is shifted by only 150 nanoseconds. The corresponding IQR measure shows a degradation of stability of 30 nanoseconds.

These results show the extreme robustness of the RADclock difference clock.

Performance beyond the LAN

To appear here soon, please see our papers Robust Synchronization of Absolute and Difference Clocks over Networks and Ten Microseconds Over LAN, for Free (Extended) for results already published.