For normal system maintenance, NTP (or its poor cousing, rdate) are the accepted standard mechanisms of synchronising time across an enterprise/set of systems.
In high-resolution time-sync applications, just syncing against the NTP server-pool results in insufficient accuracy. Darryl Veitch and Attila Pásztor have done research in this field, which has resulted in a proof that using a combination of round-trip-times (RTT) and the built-in high-resolution timestamp register called TSC of modern Pentium-class processors we can remedy this.
The pages describing their findings, and test-implementations:
- Software Infrastructure for Accurate Active Probing
- Attila Pásztor’s homepage
- Active Probing Testbed
- Ubiquitous Accurate Active Probing
- D and C Passive Tap and Attila-Tap
- Darryl Veitch, Satish Babu, Attila Pásztor, Robust Remote Synchronisation of a New Clock for PCs, Internet Measurement Conference, Taormina, Italy, October 2004
- Attila Pásztor and Darryl Veitch, PC Based Precision Timing Without GPS, ACM SIGMETRICS, A, Marina Del Rey, Los Angeles, June 2002 (winner, best student paper award).
- Active Probing with ICMP Packets
Other relevant links to platform specific time-synchonisation information:Linux:
- Time Synchronization (PPS)
- Time, with focus on NTP and Slovenia
- Advanced NTP Synchronization Device for Internet Monitoring Tools
- Patch: ktimers subsystem
- The Passage of Time
Linux realtime scheduling:
- Real Time Linux Foundation, Inc.
- Real Time and Embedded Guide (“rtHOWTO”)
- RT-Linux
- RealTime Application Interface for Linux (RTAI)
- RTAI Wiki
- Captain’s pages
- Hard Real-Time Networking for Real-Time Linux (RT-Net)
- RTAI Installation FAQ (Pre-release)
- HOWTO Port your C++ GNU/Linux application to RTAI/LXRT
- RTAI legal position on RT-Linux
- Xenomai – HAL/micro-kernel solution
- RT processes should use mlockall and sched_setscheduler system calls to lock pages in memory & increase scheduling priority.
Windows: