[ntpwg] NTP interleaved modes

David L. Mills mills at udel.edu
Sat Jul 5 01:56:18 UTC 2008


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


More information about the ntpwg mailing list