A Kernel Model for Precision Timekeeping (RFC1589)
Original Publication Date: 1994-Mar-01
Included in the Prior Art Database: 2000-Sep-12
Internet Society Requests For Comment (RFCs)
This memorandum describes a model and programming interface for generic operating system software that manages the system clock and timer functions. The model provides improved accuracy and stability for most workstations and servers using the Network Time Protocol (NTP) or similar time synchronization protocol. This memorandum describes the principles of design and implementation of the model. Related technical reports discuss the design approach, engineering analysis and performance evaluation of the model as implemented in Unix kernels for Sun Microsystems and Digital Equipment workstations. The NTP Version 3 daemon xntpd operates with these implementations to provide improved accuracy and stability, together with diminished overhead in the operating system and network. In addition, the model supports the use of external timing sources, such as precision pulse-per-second (PPS) signals and the industry standard IRIG timing signals. The NTP daemon automatically detects the presence of the new features and utilizes them when available.
Network Working Group D. Mills
Request for Comments: 1589 University of Delaware
Category: Informational March 1994
A Kernel Model for Precision Timekeeping
Status of this Memo
This memo provides information for the Internet community. This memo
does not specify an Internet standard of any kind. Distribution of
this memo is unlimited.
This memorandum describes an engineering model which implements a
precision time-of-day function for a generic operating system. The
model is based on the principles of disciplined oscillators and
phase-lock loops (PLL) often found in the engineering literature. It
has been implemented in the Unix kernel for several workstations,
including those made by Sun Microsystems and Digital Equipment. The
model changes the way the system clock is adjusted in time and
frequency, as well as provides mechanisms to discipline its frequency
to an external precision timing source. The model incorporates a
generic system-call interface for use with the Network Time Protocol
(NTP) or similar time synchronization protocol. The NTP Version 3
daemon xntpd operates with this model to provide synchronization
limited in principle only by the accuracy and stability of the
external timing source.
This memorandum does not obsolete or update any RFC. It does not
propose a standard protocol, specification or algorithm. It is
intended to provoke comment, refinement and alternative
implementations. While a working knowledge of NTP is not required for
an understanding of the design principles or implementation of the
model, it may be helpful in understanding how the model behaves in a
fully functional timekeeping system. The architecture and design of
NTP is described in , while the current NTP Version 3 protocol
specification is given in RFC-1305  and a subset of the protocol,
the Simple Network Time Protocol (SNTP), in RFC-1361 .
The model has been implemented in three Unix kernels for Sun
Microsystems and Digital Equipment workstations. In addition, for the
Digital machines the model provides improved precision to one
microsecond (us). Since these specific implementations involve
modifications to licensed code, they cannot be provided directly.
Inquiries should be directed to the manufacturer's representatives.
However, the engineering model for these implementations, including a
simulator with code segments almost identical to the implementations,
but not involving licensed code, is available via anonymous FTP from
host louie.udel.edu in the directory pub/ntp and compressed tar
archive kernel.tar.Z. The NTP Version 3 distribution can be obtained
via anonymous ftp from the same host and directory in the compressed
tar archive xntp3.3g.tar.Z, where the version number shown as 3.3g
may be adjusted for new versions as they occur.