Using Go for NTPsec

Eric S. Raymond esr at thyrsus.com
Thu Jul 1 00:39:33 UTC 2021


Achim Gratz via devel <devel at ntpsec.org>:
> Matthew Selsky via devel writes:
> > On Tue, Jun 29, 2021 at 04:41:30PM -0400, Eric S. Raymond via devel wrote:
> >
> >> Well, first, the historical target for accuracy of WAN time service is
> >> more than an order of magnitude higher than 1ms.  The worst-case jitter
> >> that could add would be barely above the measurement-noise floor at worst,
> >> and more probably below it.
> >
> > Our target is < 1 us, even for WAN time service. We would want to
> > keep/improve this accuracy target.
> 
> Assuming you really talk about accuracy of the time transfer (i.e. the
> maximum time difference between any two systems) that is impossible
> given the principle that NTP uses.

That's what I thought, but I don't have your level of expertise about the
error budget of NTP sync so I couldn't quantify it.

Talk to me about what you think the effect of very occasional
stop-the-world pauses of 600 microseconds or less would be on sync
accuracy. By "very occasionally" let's say once every ten minutes or
so, that being what I think is a *very* pessimistic estimate of GC
frequency for a program with NTP's memory-usage pattern.

What I want to understand - and have others understand - is whether
pauses of that size and frequency would mess with sync accuracy
enough that heroic measures are required to avoid them.  What kind
of distortion would they introduce in comparison with other
components of the error budget?

Mind you, heroic measures are available.  The simplest would be to
run with GC off by default and schedule times to perform a GC when it
can reasonably be expected not to collide with the next polling
action.

But before I plan something like that I want to be sure it is actually
necessary.
-- 
		<a href="http://www.catb.org/~esr/">Eric S. Raymond</a>




More information about the devel mailing list