TAI-based non-POSIX time_t

Markus Kuhn Markus.Kuhn at cl.cam.ac.uk
Tue Apr 13 11:24:10 UTC 2004

"D. J. Bernstein" wrote on 2004-04-13 07:02 UTC:
> Markus Kuhn writes:
> > Keeping a computer synched to something like TAI would only be
> > practical in the real world if a leap-free timescale (e.g., the existing
> > TAI or GPS time) were widely enough available, along with a regularly
> > updated UTC-TAI offset table.
> http://cr.yp.to/clockspeed.html converts from NTP's wobbly timescale to
> TAI, and sets the UNIX clock accordingly.
> The tz library, in ``right'' mode, then produces accurate local-time
> displays from the UNIX clock, even during leap seconds.

We had this discussion many times before ... Such setups are badly
vulnerable to disruption as soon as the leap-seconds tables on the
various machines are not maintained properly any more. In the real
world, where system-administrators are not time gurus, such things tend
to be neglected, and then the local times get derived inaccurately from
inaccurate versions of TAI and start to drift apart with each new leap
second. My only point is that this potential for long-term error is in
the real world for most applications much more of a problem than the
occasional leap in an otherwise tightly synchronized POSIX-style UTC

I am perfectly convinced that you and me and many others here are fully
capable of maintaining leap second tables accurately today on our own
systems and that the non-POSIX TAI-based time_t would work perfectly
fine for us time gurus. However, I would not recommend it at present as
general practice for the dirty real world outside the ivory tower, until
TAI is just as widely disseminated as UTC is at the moment, as otherwise
the local leap second tables needed for the various TAI<->UTC
conversions in such setup are critical elements, that, if not maintained
properly across a distributed system, can add several seconds of error
to local time and synchronizity, which I believe to bee too disruptive
to be worth the risk.

I know of your libtai (http://cr.yp.to/libtai.html), Ed Davies' proposal
to put leap-second tables onto the DNS (http://www.edavies.nildram.co.uk/
dns-leapseconds/), as well as

  Levine, J., and D. Mills. Using the Network Time Protocol to transmit
  International Atomic Time (TAI). Proc. Precision Time and Time Interval
  (PTTI) Applications and Planning Meeting (Reston VA, November 2000).

That's all very nice and looks promising, but last time I looked, all
these still looked to me more like experimental demonstration service,
rather than something that I would recommend to everyone to make their
critical infrastructure depend upon. For that I'd rather use multiple
authenticated national official time services, and most of these
(including for example our beloved MSF and DCF77 LF transmitters, the
most widely used time synchronization sources in Europe) still give me
only UTC without a leap second table at present (GPS being the notable

Should in your opinion the broad and relaible availability of TAI really
have changed dramatically recently beyond the services and proposals
outlines above, please let us know of such developments.


Markus Kuhn, Computer Lab, Univ of Cambridge, GB
http://www.cl.cam.ac.uk/~mgk25/ | __oo_O..O_oo__

More information about the tz mailing list