RADclock
The RADclock (formerly known as the TSCclock) is an alternative to the ntpd daemon to provide convenient system clock synchronisation for systems running FreeBSD and Linux. Its name stems from the need for a Robust Absolute and Difference Clock. It relies on the available counters such as the TSC or Time-Stamp-Counter that counts the number of CPU cycles in common PC architectures.
Robust
The RADclock performance has been tested over a period of years under a wide variety of conditions, including network congestion, network disconnection and server faults, and has been proven to be extremely robust (see the Doc section for published papers on this topic).
Two clocks in one
The RADclock actually provides two clocks, an absolute and a difference clock. The absolute clock provides "wall clock" time (i.e. today, right now) while the difference clock is designed to measure accurately the time elapsed between two events. Each clock can be accessed using the API provided.
If using a patched kernel, the RADclock also gives access to kernel level packet timestamping.
Easy deployment
The RADclock is compatible with the NTP protocol and can be deployed quickly on clients to provide a robust timekeeping solution, using exiting NTP servers. It can run in parallel to the ntpd daemon without harm, so that both clocks can coexist and be used independently. For example initially the RADclock could be reserved for specific applications requiring high accuracy.
Try it!
The RADclock is released under the GNU GPL licence. It is also packaged for some specific Linux distributions. The latest stable version is 0.0.9 and can be obtained from the download section.