Re: [Ntp] The bump, or why NTP v5 must specify impulse response

Harlan Stenn <stenn@nwtime.org> Wed, 15 April 2020 09:59 UTC

Return-Path: <stenn@nwtime.org>
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 7C4D43A094B for <ntp@ietfa.amsl.com>; Wed, 15 Apr 2020 02:59:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 avhHqyzgGgCk for <ntp@ietfa.amsl.com>; Wed, 15 Apr 2020 02:59:10 -0700 (PDT)
Received: from chessie.everett.org (chessie.everett.org [66.220.13.234]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id A54633A094A for <ntp@ietf.org>; Wed, 15 Apr 2020 02:59:10 -0700 (PDT)
Received: from [10.208.75.157] (75-139-194-196.dhcp.knwc.wa.charter.com [75.139.194.196]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by chessie.everett.org (Postfix) with ESMTPSA id 492HrD3VrTzL7f; Wed, 15 Apr 2020 09:59:07 +0000 (UTC)
To: Dieter Sibold <dsibold.ietf@gmail.com>, Doug Arnold <doug.arnold@meinberg-usa.com>
Cc: Watson Ladd <watsonbladd@gmail.com>, NTP WG <ntp@ietf.org>, Daniel Franke <dfoxfranke@gmail.com>
References: <CACsn0c=zzDKP6iBjPJWGF0rkqSaY3AY738ynGwDZO14sdBJ-Bg@mail.gmail.com> <CAJm83bB2A3VUxXX47Y0ubmS9Xne7PRSyV_xHY_D9YvHjqE-vFA@mail.gmail.com> <CACsn0cm3jpKZTUQ=novTgVaFhc1xCJgmUF3oOgdrzQa-HgOCUQ@mail.gmail.com> <CAJm83bAqbMMs2W3SyH+3c17wcC85paY4-_jk2SxczgsxBLyYyA@mail.gmail.com> <CAJm83bAQeR_6U3jgmbWzdus3pu+OO2_KP+M9RtbCFYOfDQy4dw@mail.gmail.com> <DB8PR02MB56111CCA23CDCF97A3C9F3E8CFDD0@DB8PR02MB5611.eurprd02.prod.outlook.com> <F7E5836A-4C7A-4A1A-B769-65EADE2C8F5C@gmail.com>
From: Harlan Stenn <stenn@nwtime.org>
Autocrypt: addr=stenn@nwtime.org; keydata= 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
Message-ID: <7d909ae3-a830-1270-6920-fa088a56525e@nwtime.org>
Date: Wed, 15 Apr 2020 02:59:05 -0700
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0
MIME-Version: 1.0
In-Reply-To: <F7E5836A-4C7A-4A1A-B769-65EADE2C8F5C@gmail.com>
Content-Type: text/plain; charset="utf-8"
Content-Language: en-US
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/iARLeFOgrfAaymN3a9cyttgy_ZI>
Subject: Re: [Ntp] The bump, or why NTP v5 must specify impulse response
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, 15 Apr 2020 09:59:12 -0000

We had the same discussion at the transition from ntpv3 to ntpv4.

If you do this, please do not call it NTP.  Please find another group to
do this in, perhaps TICTOC.

H

On 4/14/2020 4:19 AM, Dieter Sibold wrote:
> I think the document which specifies the new NTP protocol should not
> consider the clock steering algorithm as Doug suggest. But we should
> start a second document in which we describing at least one possible
> steering algorithm. This might only be informational.
> 
> Dieter
> 
> On 13 Apr 2020, at 23:22, Doug Arnold wrote:
> 
>> I think that the most important thing for the clock steering algorithm
>> in ntpv5 is that it is modular.  Define an interface to the clock
>> steering subsystem so that people can make servo loop filters
>> specialized for a specific set of conditions.
>>
>> If we define a default clock steering algorithm, the most important
>> property is that it always converges, even if it is not the most
>> accurate for any specific network conditions.  It probably has to be
>> fairly simple to have this property.  Complex algorithms usually have
>> weird corner cases.
>>
>> As for Kalman filters, they work really well for things like GPS
>> receives where the noise properties are relatively constant.  Then you
>> can tune them for those noise properties.  Queuing noise in a network
>> varies wildly, and is often exhibits a highly skewed client clock
>> error measurement probability density with a peak near zero followed
>> by a long tail in one direction.  I suspect that Kalman filters will
>> perform poorly on highly skewed data unless you have a non-linear
>> prefilter to make the noise probability density closer to gaussian.  I
>> know of people who have gotten good results for PTP servo loops using
>> Kalman filters, but with a generalized luckly packet prefilter to
>> eliminate the long tail in the distribution, and with the prefilter
>> also determining the Kalman filter parameters.  That is a complicated
>> algorithm which probably has some catastrophic corner cases, so it
>> wouldn't be a good candidate for a default servo loop which always
>> works at least ok.
>>
>> Doug
>>
>> ________________________________
>> From: ntp <ntp-bounces@ietf.org> on behalf of Daniel Franke
>> <dfoxfranke@gmail.com>
>> Sent: Monday, April 13, 2020 1:09 PM
>> To: Watson Ladd <watsonbladd@gmail.com>
>> Cc: NTP WG <ntp@ietf.org>
>> Subject: Re: [Ntp] The bump, or why NTP v5 must specify impulse response
>>
>> What motivates my skepticism here, by the way, is a belief that it's
>> possible to get much, much better performance with better
>> synchronization algorithms. A number of academic researchers have
>> experimented with Kalman filters [1][2][3] and gotten phenomenal
>> results, in the case of [1], two orders of magnitude better than stock
>> ntpd 4.2.0. I suspect that this could be even further improved with
>> more accurate network models (Kalman filters would be provably optimal
>> if network jitter were Gaussian, but we all know it isn't). I want to
>> avoid specifying any requirements that would discourage or obstruct
>> this sort of research from being developed into production
>> implementations.
>>
>> [1] https://ieeexplore.ieee.org/abstract/document/4268082
>> [2] http://alumni.media.mit.edu/~aggelos/papers/tuffc_nov04.pdf
>> [3] https://www.sciencedirect.com/science/article/pii/S1474667015361358
>>
>> On Mon, Apr 13, 2020 at 3:24 PM Daniel Franke <dfoxfranke@gmail.com>
>> wrote:
>>>
>>> I don't think I follow. In what sense does it limit the length of the
>>> chain, other than that stratum is capped at 16? And what
>>> characteristic of RFC 5905's recommended input response address the
>>> problem? (I need to read the book you've referenced before I fully
>>> understand the problem in the first place; I've ordered it but it'll
>>> take some time to arrive).
>>>
>>> On Mon, Apr 13, 2020 at 3:15 PM Watson Ladd <watsonbladd@gmail.com>
>>> wrote:
>>>>
>>>>
>>>>
>>>> On Mon, Apr 13, 2020, 7:21 AM Daniel Franke <dfoxfranke@gmail.com>
>>>> wrote:
>>>>>
>>>>> On Sun, Apr 12, 2020 at 6:11 PM Watson Ladd <watsonbladd@gmail.com>
>>>>> wrote:
>>>>>> Section 14.5 of Phase Lock Techniques by Floyd Gardner describes
>>>>>> difficult problems caused by the accumulation of errors in a chain of
>>>>>> PLLs under benign conditions, and section 2.2.4 describes the root
>>>>>> cause, namely an inevitable peak in the transfer function of a second
>>>>>> order filter. I don't think these are insolvable in NTP v5, but they
>>>>>> should give pause to the idea that we can avoid needing to specify
>>>>>> the
>>>>>> the synchronization algorithm. The peaking of the PLL needs to be
>>>>>> controlled, or some thing more complex needs to be specified.
>>>>>
>>>>> Are the algorithms in RFC 5905 vulnerable to this? If so, I think that
>>>>> shoots down any implication that it's a practical necessity to solve
>>>>> this in the NTPv5 spec, since we've obviously been getting by okay so
>>>>> far.
>>>>
>>>>
>>>> v4 limits the length of the chain and specifies the input response
>>>> to have, which solves the problem.
>>>>
>>>>>
>>>>> Just to be clear, though, I'm not proposing that the WG should be
>>>>> *silent* on synchronization algorithms in v5. Just that whatever we
>>>>> have to say about it should be in a separate, Informational document,
>>>>> and can discuss the design space and suggest multiple possibilities
>>>>> rather than require one particular thing.
>>
>> _______________________________________________
>> ntp mailing list
>> ntp@ietf.org
>> https://www.ietf.org/mailman/listinfo/ntp
>> _______________________________________________
>> ntp mailing list
>> ntp@ietf.org
>> https://www.ietf.org/mailman/listinfo/ntp
> 
> _______________________________________________
> ntp mailing list
> ntp@ietf.org
> https://www.ietf.org/mailman/listinfo/ntp
> 

-- 
Harlan Stenn <stenn@nwtime.org>
http://networktimefoundation.org - be a member!