Re: [Ntp] Antw: Re: Antwort: Re: Antw: [EXT] Re: Temperature Compensation for NTP?

Magnus Danielson <magnus@rubidium.se> Wed, 09 December 2020 22:05 UTC

Return-Path: <magnus@rubidium.se>
X-Original-To: ntp@ietfa.amsl.com
Delivered-To: ntp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 08F213A11EB for <ntp@ietfa.amsl.com>; Wed, 9 Dec 2020 14:05:47 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.098
X-Spam-Level:
X-Spam-Status: No, score=-2.098 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rubidium.se
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zRloMuH6eyKg for <ntp@ietfa.amsl.com>; Wed, 9 Dec 2020 14:05:43 -0800 (PST)
Received: from ste-pvt-msa1.bahnhof.se (ste-pvt-msa1.bahnhof.se [213.80.101.70]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D17CC3A11E8 for <ntp@ietf.org>; Wed, 9 Dec 2020 14:05:41 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by ste-pvt-msa1.bahnhof.se (Postfix) with ESMTP id 8278F3F880; Wed, 9 Dec 2020 23:05:39 +0100 (CET)
Authentication-Results: ste-pvt-msa1.bahnhof.se; dkim=pass (2048-bit key; unprotected) header.d=rubidium.se header.i=@rubidium.se header.b=kNOW6ePt; dkim-atps=neutral
X-Virus-Scanned: Debian amavisd-new at bahnhof.se
Received: from ste-pvt-msa1.bahnhof.se ([127.0.0.1]) by localhost (ste-pvt-msa1.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id xS3EcNinUPiU; Wed, 9 Dec 2020 23:05:37 +0100 (CET)
Received: by ste-pvt-msa1.bahnhof.se (Postfix) with ESMTPA id 4BA733F619; Wed, 9 Dec 2020 23:05:37 +0100 (CET)
Received: from machine.local (unknown [192.168.0.15]) by magda-gw (Postfix) with ESMTPSA id C56639A02E5; Wed, 9 Dec 2020 23:05:36 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=rubidium.se; s=rubidium; t=1607551536; bh=vrlXe9NuodOLc1RGdc8GqcS15yW326DxYe3f4jKrZF8=; h=Cc:Subject:To:References:From:Date:In-Reply-To:From; b=kNOW6ePtlI0COHKN3D9xLjEge5AJ66On9NxiEomar97FliI/4f1GWFElLmdmswAz+ 54Tzk37IabG7gbdl8ZmaU6e+35/Y9u/Ls/23Bzqiqpn7Wnd9P67EHo2YQ8i0CzYbsn q7oGI6Pu8hWdMRL/2IvtEtTd1zNS9Txo9L6Pvn0EYMRXBvq7j2Z/HYD5POgiOnlVJr tIWAZ0BEvV7wPu+G7QwSaeB/n/WG4Pt4JYVISuTsCBhhb8OzayTI9S4DLhWfFm3yZO 3lU5Uu0m9mchiU2zThNWVoe8HqWx9QM6CGVgLJsl2BMlswYXb4XHiA3NaXwz1+Mtfx +OYGVTb2b4t1A==
Cc: magnus@rubidium.se, Ulrich Windl <Ulrich.Windl@rz.uni-regensburg.de>, "ntp@ietf.org" <ntp@ietf.org>
To: Warner Losh <imp@bsdimp.com>
References: <06a3f575-0f32-8686-40c4-e948e619527e@thalesgroup.com> <5FCF48F1020000A10003D5E1@gwsmtp.uni-regensburg.de> <F8A667ED0200007A43047E14@gwsmtp.uni-regensburg.de> <5FD07720020000A10003D684@gwsmtp.uni-regensburg.de> <OFC100EA2B.0D5BBA74-ONC1258639.00422784-C1258639.00425388@ptb.de> <db435749-0a2d-63a9-777e-2657c7b99eed@rubidium.se> <5FD0D4F3020000A10003D6D1@gwsmtp.uni-regensburg.de> <2e4c053d-4b21-a8d0-667d-665015a95485@rubidium.se> <CANCZdfruUWif+24Jv1rk2oMs_VHg4-eu2qeVLSTK3p=v+2gXjg@mail.gmail.com>
From: Magnus Danielson <magnus@rubidium.se>
Message-ID: <d92e61af-494d-aca2-6c1b-f88ed0a3f313@rubidium.se>
Date: Wed, 09 Dec 2020 23:05:36 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:78.0) Gecko/20100101 Thunderbird/78.5.1
MIME-Version: 1.0
In-Reply-To: <CANCZdfruUWif+24Jv1rk2oMs_VHg4-eu2qeVLSTK3p=v+2gXjg@mail.gmail.com>
Content-Type: multipart/alternative; boundary="------------9CD56E1D83388198A3B37419"
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/ro6CnXXfD5_yzuFoaGlgZcJ-5F0>
Subject: Re: [Ntp] Antw: Re: Antwort: Re: Antw: [EXT] Re: Temperature Compensation for NTP?
X-BeenThere: ntp@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: <ntp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ntp>, <mailto:ntp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ntp/>
List-Post: <mailto:ntp@ietf.org>
List-Help: <mailto:ntp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ntp>, <mailto:ntp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 09 Dec 2020 22:05:47 -0000

Warner,

On 2020-12-09 17:33, Warner Losh wrote:
>
>
> On Wed, Dec 9, 2020 at 7:37 AM Magnus Danielson <magnus@rubidium.se
> <mailto:magnus@rubidium.se>> wrote:
>
>     Ulrich,
>
>     On 2020-12-09 14:45, Ulrich Windl wrote:
>     >>>> Magnus Danielson <magnus@rubidium.se
>     <mailto:magnus@rubidium.se>> schrieb am 09.12.2020 um 14:25 in
>     > Nachricht <db435749-0a2d-63a9-777e-2657c7b99eed@rubidium.se
>     <mailto:db435749-0a2d-63a9-777e-2657c7b99eed@rubidium.se>>:
>     >> Hi,
>     >>
>     >> In a similar notion, I do not see temperature compensations to be
>     >> anything but local clock maintenance. This can be done in so
>     many ways
>     >> that I do not think it will be useful to clutter core mechanism
>     >> descriptions with it. There can be hardward compensations
>     already in the
>     >> use of temperature compensated oscillators (TCXO) or oven stablized
>     >> oscillators (OCXO) or even atomic reference based. You can also do
>     >> software based compensation from trivial simple to advanced
>     self-tuning.
>     >> That would still not relate to the core mechanisms of NTP. You may
>     >> benefit from feeling the correct time from NTP as you do such
>     training,
>     >> but just like the oscillator offset file, it's a local issue,
>     until it
>     >> isn't because it failed, and I've seen such cases with NTPv4.
>     > OK, convinced ;-)
>
>     Great! :-)
>
>
> You'd only need to include it if it were to affect the core mission of
> NTP: exchanging time and frequency measurements. Since it doesn't do
> that in any meaningful way, it likely should be omitted from the
> protocol doc.
I would agree, but your statement would need further qualifications. If
you look carefully, you will see that source, intermediary and client
nodes will get degraded performance. Some of it is tracked in by NTP,
but you get more dynamics from a bad clock. So, that will reduce the
performance in terms of stability. But this is not directly to the
protocol itself, but parameter setting, just as it is for say a GPSDO as
the optimum balance point differs depending on the noise of the local
oscillator. It can be understood by the low-pass filtering of the
reference (and that include the additional noise as picked up from the
network) and the high-pass filtering of the local oscillator. The better
local oscillator, the higher tau for cross-over point and better overall
performance can be found. Typically this is better analyzed in the
phase-noise domain rather than ADEV domain, but it aims to achieve the
same thing and differences between analysis is small. NTP builds it's
analysis on the ACTS analysis of Judah Levine, while I think the
behavior of the NTP noise differs from that of the original ACTS system.
For NTP it is the "Allan intercept point" scheme. But, to challenge that
I think may be rocking the boat a little too much in the short term. So,
technically we need to confine how far we go, and I think we should not
go much further than making some notes in the RFCs about quality of
oscillator will have impact of performance.
>
> It falls into the large bucket of 'local errors'. Your local
> oscillator will have some error to how true it is. Temperature
> compensation tries to reduce that error. It will also have errors as
> well, so it will affect the stability of the local clock (for good or
> for ill). But that's on the same magnitude, one would hope, as diurnal
> environmental changes. So it won't put the quality of the local
> oscillator outside the bounds that NTP assumes are in place. Those are
> the more important things to have in the document: what's the error
> tolerance of this system (and possibly reporting a local system's
> estimated error bars). How a local system accomplishes this should be
> up to the local system.

Yes, but we need to say it as it is, you get what you pay for. Poor
design will behave worse than good design. We can make no real
assumption of how bad or good things can be. For instance, if you have
hardware time-stamping in your NTP, yes that exists, then you get much
better node performance too. We do not write anything about hardware or
software time-stamping, it is kind of assumed. It will however affect
performance. The actual diurnal environmental properties of the actual
link is fairly small. Variations due to heating and AC can be much worse
as acting on the local clock. Local clock may be worse than +/- 100 ppm
and that says that there is no temperature compensation. The local clock
may be an oscillator sitting near CPU and other components which have
forced cooling and high dynamics in how much heat they produce. You
milage will vary on that one.

So, we should not dwell too much into these details in the protocol
design, but we should allow for flexibility in polling rate as means to
achieve flexibility that may be needed to encompass different oscillator
stability challenges. If people fancy informational material, that can
be provided to the side of the core protocol documents, and I would be
in support of doing that, to guide implementers and users to an
understanding.

So, now comes the question of how to nicely scope the parameter freedom
that we might want to allow for in relation to this.

To complex the issue, there is other concerns relating to polling rate
that one could consider, but I think that it would be outside the scope
of a quick resolution.

Cheers,
Magnus