The
ntpd(8)
daemon has been the dominant solution for system clock synchronisation for many
years, which has in turn influenced the design of the system clock.
The ntpd daemon implements a feedback control algorithm which has been
demonstrated to perform poorly in common use cases.
Feed-forward clock synchronisation algorithms implemented by an appropriate
daemon, in concert with the
FFCLOCK
kernel support, have been shown to provide highly robust and accurate clock
synchronisation.
In addition to time keeping, the
FFCLOCK
kernel mechanism provides new timestamping capabilities and the ability to
use specialised clocks.
Feed-forward synchronisation is also very well suited for virtualised
environments, reducing the overhead of timekeeping in guests and ensuring
continued smooth operation of the system clock during guest live migration.
The
FFCLOCK
kernel support provides feed-forward timestamping functions within the kernel
and system calls to support feed-forward synchronisation daemons
(see
ffclock(2)
).