Re: [Ntp] CLOCK_TAI (was NTPv5: big picture)

Magnus Danielson <magnus@rubidium.se> Tue, 05 January 2021 17:49 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 BA5073A1078 for <ntp@ietfa.amsl.com>; Tue, 5 Jan 2021 09:49:01 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.361
X-Spam-Level:
X-Spam-Status: No, score=-2.361 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, NICE_REPLY_A=-0.262, 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 MaJJXziBeoOv for <ntp@ietfa.amsl.com>; Tue, 5 Jan 2021 09:48:59 -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 C946B3A1053 for <ntp@ietf.org>; Tue, 5 Jan 2021 09:48:58 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by ste-pvt-msa1.bahnhof.se (Postfix) with ESMTP id 4BE283FA65; Tue, 5 Jan 2021 18:48:56 +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=GicFjxRd; 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 1Z_mYrC-eXdS; Tue, 5 Jan 2021 18:48:54 +0100 (CET)
Received: by ste-pvt-msa1.bahnhof.se (Postfix) with ESMTPA id 9ABC73F713; Tue, 5 Jan 2021 18:48:54 +0100 (CET)
Received: from machine.local (unknown [192.168.0.15]) by magda-gw (Postfix) with ESMTPSA id 090C19A00A7; Tue, 5 Jan 2021 18:48:54 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=rubidium.se; s=rubidium; t=1609868934; bh=PE0TWvg6dzjLwc5qUmXXq+8EsuZyZiSuU6CmumKU0TU=; h=Cc:Subject:To:References:From:Date:In-Reply-To:From; b=GicFjxRdeYNVIboMqIVihiEWH7evo90LyjSXsDQ7eZrZ7lr6Vk76+1yGlbYO5G92a PFsuElIlYVPKMB1QWIYx5Vi9kPHNzvH7Zn7jaFicxbhApBX7m/lNIlo2xShHa8StOm yzr0efMyv/4IibEQdxqAoqtzfjFhZ2UEL/9Jn6PCvf4YucArw6gEmzWeyRyJ358ZW5 OYQrrFY/HIdIgE+VGVn4m90rnxSbnYFUtjSktUqS3Kv4R287N2TRBdGAwsdQ3yTdPY Hficwk1ETGQcoPbwafcIsYLj3FZX6aFDnFjnu4F3SL7yYpYnyIqd1ZMu0ZOSbnggjX VKubvJ8Vx73KQ==
Cc: magnus@rubidium.se, ntp@ietf.org
To: Martin Burnicki <martin.burnicki@meinberg.de>, Miroslav Lichvar <mlichvar@redhat.com>
References: <20210102081603.1F63C40605C@ip-64-139-1-69.sjc.megapath.net> <cecaf661-92af-8b35-4c53-2f025c928144@rubidium.se> <20210104164449.GE2992437@localhost> <b1e61f7d-6cea-5e99-69f0-7eae815d9e19@rubidium.se> <20210105083328.GA3008666@localhost> <ba5d2cde-6b5e-d9b6-1877-c4060bf43e80@rubidium.se> <f8a1b9fa-887f-3402-d6e9-19dd4fa98e33@meinberg.de>
From: Magnus Danielson <magnus@rubidium.se>
Message-ID: <75348282-d6aa-e1f1-0ab1-4dfbc1379ff4@rubidium.se>
Date: Tue, 05 Jan 2021 18:48:53 +0100
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:78.0) Gecko/20100101 Thunderbird/78.6.0
MIME-Version: 1.0
In-Reply-To: <f8a1b9fa-887f-3402-d6e9-19dd4fa98e33@meinberg.de>
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 7bit
Content-Language: en-US
Archived-At: <https://mailarchive.ietf.org/arch/msg/ntp/Rpvw57O5KsU96OFT7spMz1S7AUY>
Subject: Re: [Ntp] CLOCK_TAI (was NTPv5: big picture)
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: Tue, 05 Jan 2021 17:49:02 -0000

Martin,

On 2021-01-05 17:24, Martin Burnicki wrote:
> Magnus Danielson wrote:
>> I agree that NTPv5 cannot support only TAI.
>>
>> However, there comes the first challenge, do the core time-stamp format
>> be that of a single format or of any timescale format. I think we agree
>> that formats having the POSIX, Linux and NTPv4 type of leap-second jumps
>> is to be avoided.
> I really wonder what the "NTPv4 type of leap second jumps" is. If the
> system supports leap seconds at all, at least ntpd just passes the leap
> second announcement to the kernel. And the daemon relies on the
> timestamps returned by the kernel.
>
> If the kernel handles this in a way we don't consider "appropriate",
> what could an NTP (or PTP or whatever) daemon do to fix it? Applications
> will still suffer from limitations of the operating system.

Sure. It's a multi-front battle.

With "NTPv4 type leap-second jump" i mean the way that the NTPv4 clock
ticks in combination with the leap second flag. It's not a very neat
format, even if it works. Alone it does not give us TAI-UTC difference,
but if we setup that correctly, we have padded the leap-second and a
good implementation can get things right.

>
>> OK, so we want something more continuous and then
>> concluding some variant of TAI-like property, similar to that of PTP is
>> useful, not at all saying or suggesting it needs to be the PTP one.
>>
>> Second challenge, if we have a TAI-like core format, and we indeed can
>> rebuild a TAI replica, and we do not consider this enough, would a TAI
>> format allows us to fairly cheaply adapt that to other formats? Turns
>> out that this comes very cheap and is easy to do robust, if and only if,
>> one has access to the TAI-UTC difference and information about an
>> upcoming one as that eventually approaches.
> Agreed.
Good we have agreement on that.
>
>> Will that satisfy all needs? Maybe not. OK, but will this provide a
>> vehicle for more variants. Seems likely if we have a standard way of
>> augmenting the core timing with additional parameters and users add the
>> mapping.
> That's also fine, but by default it should IMO be possible to provide
> simple clients with time in a way as compatible as possible.

Indeed. I am confident that the client can be very simple and provide
the right time, even with leap seconds occurring.

>
>> Sure, I am advocating for a particular part of the solution space. But I
>> think it is doable without any of the parts becoming cumbersomely
>> complex to test and verify. An example is how PTP has extension fields
>> extended by SMPTE 2059-2 and the various output mappings documented
>> separately in SMPTE 2059-1 to show how the transported parameters
>> generate all the legacy timing things. SMPTE 2110-10 then extends SMPTE
>> 2059-2 and 2059-1 for the application within the SMPTE 2110 transport
>> protocols and timing model of media used there. Anyway, I think it is a
>> fair model that seems to work.
> If a *simple* client needs to do this just to derive UTC (what's
> probably the case for most not telco devices) than it's a wrong approach
> to provide TAI and derive UTC from it.

Well, it may seem so at first, but if we taken on the burden of getting
TAI and TAI-UTC and transport that, the client can be very simple and
provide TAI, UTC, POSIX, LINUX, PTP, GPS time scale replicas using very
little code or complexity. The mappings provided will not require many
pages and it will be easy to implement them all.

Check your inbox for a separate example.

Cheers,
Magnus