Subject: [ntpwg] NTP interleaved modes

From: "David L. Mills" <[email-masked]>
Date: Sat, 05 Jul 2008 01:56:18 +0000

Guys,

NTP symmetric and broadcast interleaved modes as described in a previous 
message have been implemented and tested in the development version. The 
best performance shows reliable jitter after the clock filter in the 
order of 20 us. The white paper at 
http://www.eecis.udel.edu/~mills/onwire.html and briefing at 
http://www.ecis.udel.edu/~mills/database/brief/onwire/onwire.ppt have 
been updated. The documentation on the web has been updated as well.

The interleaved modes coexist with the normal modes just fine. 
Interleaved broadcast can be operated simultaneously with ordinary 
broadcasts, so prior versions will not be disturbed. Interleaved clients 
will discover the new mode and automaticallyh switch. A symmetric peer 
capable of interleaved mode will revert to ordinary mode if the other 
peer cannot do interleave. Interleaved mode is activated by a new xleave 
option in the broadcast and peer commands.

While the new modes reduce the output wait due to kernel and queueing 
latencies from 16 us to over 1 ms, depeing on NIC hardware and driver, 
obviously they are designed for hardware and/or driver timestamping. 
I've been looking at ways to do that. I have a couple of IEEE 1588 NICs 
from Meinberg and have looked over the driver and documentation. It uses 
the AMD79C973 PCNET chip augmented by a FPGA that on command captures 
the SOF timestamp. The pcn driver in FreeBSD can uses this chip. The 
FPGA is treated as a separate read-only device triggered by the chip 
interrupt.

The original motivation for this project was to use the protocol with 
the CCSDS Proximity protocol designed for near-space links used on Mars 
missions and soon on Moon missions. NASA won't let me have a rover for 
experiment, so the next best thing might be an Ethernet project. I'm 
somewhat over my head with Unix drivers, but I have had a long look at 
the FreeBSD drivers and Ethernet interface code. I've even had a serious 
experience with the AMD chip documentation (Wow, are those chips getting 
fancy!). The Meingerg driver is for Linux and from previous ex;perience 
I really don't want to use that system. The FreeBSD pcn driver could 
easily be hooked to do the same thing as the Meinberg driver. My problem 
is the FPGA driver, which shouldn't be hard for an experienced 
driverologist.

So, I'm tossing out the challenge. Anybody want to take on the FPGA 
driver? Make no mistake, this is not intended as a challenge to 1588, 
but rather an interesting challenge with goal NTP performance over the 
wire is as good as the PPS signal, which is in the 2-us range.

Dave
_______________________________________________
ntpwg mailing list
[email-masked]
https://lists.ntp.org/mailman/listinfo/ntpwg

---

From: "David L. Mills" <[email-masked]>
Date: Sat, 05 Jul 2008 04:40:46 +0000

Guys,

I should have mentioned the proof of performance is measured in the 
updated briefing 
http://eecis.udel.edu/~mills/database/brief/precise/precise.html.

Dave

David L. Mills wrote:

> Guys,
>
> NTP symmetric and broadcast interleaved modes as described in a 
> previous message have been implemented and tested in the development 
> version. The best performance shows reliable jitter after the clock 
> filter in the order of 20 us. The white paper at 
> broadcasts, so prior versions will not be disturbed. Interleaved 
> clients will discover the new mode and automaticallyh switch. A 
> symmetric peer capable of interleaved mode will revert to ordinary 
> mode if the other peer cannot do interleave. Interleaved mode is 
> activated by a new xleave option in the broadcast and peer commands.
>
> I've been looking at ways to do that. I have a couple of IEEE 1588 
> NICs from Meinberg and have looked over the driver and documentation. 
> It uses the AMD79C973 PCNET chip augmented by a FPGA that on command 
> captures the SOF timestamp. The pcn driver in FreeBSD can uses this 
> chip. The FPGA is treated as a separate read-only device triggered by 
> the chip interrupt.
>
> the CCSDS Proximity protocol designed for near-space links used on 
> Mars missions and soon on Moon missions. NASA won't let me have a 
> rover for experiment, so the next best thing might be an Ethernet 
> project. I'm somewhat over my head with Unix drivers, but I have had a 
> long look at the FreeBSD drivers and Ethernet interface code. I've 
> even had a serious experience with the AMD chip documentation (Wow, 
> are those chips getting fancy!). The Meingerg driver is for Linux and 
> from previous ex;perience I really don't want to use that system. The 
> FreeBSD pcn driver could easily be hooked to do the same thing as the 
> Meinberg driver. My problem is the FPGA driver, which shouldn't be 
> hard for an experienced driverologist.
>

---

From: Hal Murray <[email-masked]>
Date: Sat, 05 Jul 2008 00:26:52 -0700

> http://eecis.udel.edu/~mills/database/brief/precise/precise.html.

I see:

Parent Directory
precise.pdf 02-Aug-2004 14:14 426K
precise.ppt 01-Jul-2008 16:24 751K
precise.ps 02-Aug-2004 14:13 1.1M

but no .html

-- 
These are my opinions, not necessarily my employer's.  I hate spam.